enumerate(iteration, start):返回一个枚举的对象。迭代器(iteration)必须是另外一个可以支持的迭代对象。初始值默认为零,也就是你如果不输入start那就代表从零开始。迭代器的输入可以是列表,字符串,集合等,因为这些都是课迭代的对象。返回一个对象,如果你用列表的形式表现出来的话那就是一个列表,列表的每个元素是一个元组,元祖有两个元素,第一个元素代表编号,也就是第几个元素的意思,第二个元素就是迭代器的对应的元素,这是在默认start为零的情况下。如果不为零,那就是列表的第一个元组的第一个元素就是start的值,后面的依次累加,第二个元素还是一样的意思。
例如:
str1 = 'lplplp'
list1 = [1, 5, 6]
tuple1 = (5, 8, 4, 2)
set1 = {'kl', 'lk'}
print list(enumerate(str1))
print list(enumerate(str1, start=2))
print list(enumerate(list1))
print list(enumerate(list1, start=2))
print list(enumerate(tuple1))
print list(enumerate(tuple1, start=2))
print list(enumerate(set1))
print list(enumerate(set1, start=2))
输出:
[(0, 'l'), (1, 'p'), (2, 'l'), (3, 'p'), (4, 'l'), (5, 'p')]
[(2, 'l'), (3, 'p'), (4, 'l'), (5, 'p'), (6, 'l'), (7, 'p')]
[(0, 1), (1, 5), (2, 6)]
[(2, 1), (3, 5), (4, 6)]
[(0, 5), (1, 8), (2, 4), (3, 2)]
[(2, 5), (3, 8), (4, 4), (5, 2)]
[(0, 'lk'), (1, 'kl')]
[(2, 'lk'), (3, 'kl')]