📅  最后修改于: 2020-07-15 08:12:35             🧑  作者: Mango
很多时候,在处理迭代器时,我们还需要保留迭代次数。Python通过为该任务提供内置函数enumerate()减轻了程序员的任务。
Enumerate()方法向可迭代对象添加一个计数器,并以枚举对象的形式返回它。然后可以直接在for循环中使用此枚举对象,也可以使用list()方法将其转换为元组列表。
句法:
enumerate(iterable, start=0)
参数:
Iterable:任何支持迭代的对象
Start:计数器所在的索引值
要启动,默认为0
代码1:
# Python程序说明枚举功能
l1 = ["eat","sleep","repeat"]
s1 = "geek"
# 创建枚举对象
obj1 = enumerate(l1)
obj2 = enumerate(s1)
print "Return type:",type(obj1)
print list(enumerate(l1))
# 将起始索引从0更改为2
print list(enumerate(s1,2))
输出:
Return type: < type 'enumerate' >
[(0, 'eat'), (1, 'sleep'), (2, 'repeat')]
[(2, 'g'), (3, 'e'), (4, 'e'), (5, 'k')]
在循环中使用枚举对象
# Python程序说明循环中的枚举功能
l1 = ["eat","sleep","repeat"]
# 直接在对象中打印元组
for ele in enumerate(l1):
print ele
print
# 更改索引并单独打印
for count,ele in enumerate(l1,100):
print count,ele
输出:
(0, 'eat')
(1, 'sleep')
(2, 'repeat')
100 eat
101 sleep
102 repeat