描述
enumerate()
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for
循环当中。
enumerate(sequence, [start=0])
sequence
– 一个序列、迭代器或其他支持迭代对象,比如字典、列表、元组等start
– 下标起始位置的值。(不写start那就是从0开始)
b = ['a', 'b', 'c', 'd', 'e', 'f']
for i, item in enumerate(b):
print(i, item)
其中第一列为从start参数开始枚举的数(因为没有指明start参数,所以从0开始),第二列为sequence参数中的值。
b = ['a', 'b', 'c', 'd', 'e', 'f']
for i, item in enumerate(b, 2):
print(i, item)
遍历是要都遍历的,只是start参数定义的不同,起始的标签不同,而且第一个返回值不是sequence的下标,而是从start开始的枚举标签数。
(1)当example为一个字符串:
example = 'abcd'
for i,j in enumerate(example):
print(i,j)
打印结果为:
0 a
1 b
2 c
3 d
(2)当example为一个字符串:
example = ('abcd')
for i,j in enumerate(example):
print(i,j)
打印结果为:
0 a
1 b
2 c
3 d
(3)当example为一个元组,元组有多于1个的元素时:
example = ('abcd','efgh')
for i,j in enumerate(example):
print(i,j)
打印结果为:
0 abcd
1 efgh
注意区分(2)与(3)的不同之处
(4)当example为一个数组:
example = (('abcd','efgh'))
for i,j in enumerate(example):
print(i,j)
打印结果为:
0 abcd
1 efgh
(5)当example为一个列表:
example = ['abcd','efgh']
for i,j in enumerate(example):
print(i,j)
打印结果为:
0 abcd
1 efgh
(6)当example为一个字典:
example = {'abcd':1,'efgh':2}
for i,j in enumerate(example):
print(i,j)
打印结果为:
0 abcd
1 efgh