Python 的 `enumerate()` 函数有什么用途?
在本文中,我们将学习 `enumerate()` 函数以及它在 Python 中的用途。
`enumerate()` 函数是什么?
Python 的 `enumerate()` 函数接收一个数据集合作为参数,并返回一个枚举对象。
返回的枚举对象以键值对的形式呈现。键是每个项目的相应索引,值是项目本身。
语法
enumerate(iterable, start)
参数
iterable − 传入以便可以作为枚举对象返回的数据集合称为可迭代对象。
start − 正如其名称所示,枚举对象的起始索引由 `start` 定义。如果忽略此值,则它将第一个索引视为零,因为零是这里的默认值。
Python 中 `enumerate()` 函数的用途
何时使用 `enumerate()` 函数?
如果需要迭代值的索引,则使用 `enumerate()` 函数。
如何使用它?
`enumerate` 函数为列表中的每个可迭代值分配一个索引。
为什么要使用 `enumerate()` 函数?
使用迭代器时,我们总是需要知道已完成多少次迭代,即迭代次数。
但是,我们有一种 Pythonic 的方法来确定必要的迭代次数。语法如下:
enumerate(iterable, start)
如何在 Python 中使用 `enumerate()` 函数?
重要的是要注意返回后将使用哪种数据类型来存储枚举对象。
示例
以下程序在列表上使用 `enumerate()` 函数以获取包含索引的元组列表:
# input list inputList = ["hello", "tutorialspoint", "python", "codes"] # getting the enumerate object of the input list enumerate_obj = enumerate(inputList) print(enumerate_obj) # converting the enumerate object into a list and printing it print(list(enumerate_obj))
输出
执行上述程序后,将生成以下输出:
<enumerate object at 0x7f4e56b553c0> [(0, 'hello'), (1, 'tutorialspoint'), (2, 'python'), (3, 'codes')]
使用 `enumerate()` 函数的第二个参数“起始索引”
示例
以下程序演示了如何在列表上应用 `enumerate()` 函数,包括第二个参数:
# input list inputList = ["hello", "tutorialspoint", "python", "codes"] # getting the enumerate object starting from the index 15 enumerate_obj = enumerate(inputList, 15) # converting the enumerate object into the list and printing it print(list(enumerate_obj))
输出
执行上述程序后,将生成以下输出:
[(15, 'hello'), (16, 'tutorialspoint'), (17, 'python'), (18, 'codes')]
在上面的示例中,我们在 `enumerate()` 函数中添加了 15 作为第二个参数。此第二个参数将指示枚举对象中键(索引)的起始索引,因此我们可以看到输出中的第一个索引为 15,第二个索引为 16,依此类推。
遍历枚举对象的 Python 代码
示例
以下程序演示了如何使用 for 循环遍历枚举对象并打印其每个元素:
# input list inputList = ["hello", "tutorialspoint", "python", "codes"] # getting the enumerate object enumerate_obj = enumerate(inputList) # traversing through each item in an enumerate object for i in enumerate_obj: # printing the corresponding iterable item print(i)
输出
执行上述程序后,将生成以下输出:
(0, 'hello') (1, 'tutorialspoint') (2, 'python') (3, 'codes')
在元组上使用 `enumerate()` 函数
示例
以下程序演示了如何在给定的输入元组上使用 `enumerate()` 函数:
# input tuple inputTuple = ("hello", "tutorialspoint", "python", "codes") # getting the enumerate object of the input tuple enumerate_obj = enumerate(inputTuple) print(enumerate_obj) # converting the enumerate object into the list and printing it print(list(enumerate_obj))
输出
执行上述程序后,将生成以下输出:
<enumerate object at 0x7fec12856410> [(0, 'hello'), (1, 'tutorialspoint'), (2, 'python'), (3, 'codes')]
在字符串上使用 `enumerate()` 函数
使用 `enumerate` 函数迭代字符串数据以确定每个字符的索引。
示例
以下程序演示了如何在给定的输入字符串上使用 `enumerate()` 函数:
# input string inputString = "python" # getting the enumerate object of an input string enumerate_obj = enumerate(inputString) # converting the enumerate object into the list and printing it print(list(enumerate_obj))
输出
执行上述程序后,将生成以下输出:
[(0, 'p'), (1, 'y'), (2, 't'), (3, 'h'), (4, 'o'), (5, 'n')]
在 `enumerate()` 函数中使用另一个参数
示例
以下程序演示了如何在 `enumerate()` 函数中使用另一个参数:
input_data = ('Hello', 'TutorialsPoint', 'Website') for count, dataValue in enumerate(input_data,start = 50): print(count, dataValue)
输出
执行上述程序后,将生成以下输出:
(50, 'Hello') (51, 'TutorialsPoint') (52, 'Website')
`enumerate` 是 Python 的内置函数,它返回一个枚举对象。
此函数返回一个枚举对象。
要将可迭代对象传递给 `enumerate` 函数,首先尝试从枚举对象中检索数据,然后将其转换为 `list()`。结果,如上例所示,它返回一个包含迭代索引的元组列表。
结论
本文详细介绍了 Python 的 `enumerate()` 函数的应用。我们还学习了如何在各种 Python 数据类型和可迭代对象上使用它。此外,我们还学习了如何修改 `enumerate()` 函数的起始计数或索引。