📜  Python中的enumerate

📅  最后修改于: 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