enumerate()用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。
即返回(index,value)元组序列
用法:enumerate(sequence, [start=0])
sequence可为元组或序列
start默认为0,即默认索引从0开始,可进行指定
In [40]: list3=['suger','flower','sun']
In [41]: a = enumerate(list3)
In [42]: a
Out[42]: <enumerate at 0x1aa797a6c78>
#放到容器里才能输出
In [43]: b=list(enumerate(list3))
In [44]: b
Out[44]: [(0, 'suger'), (1, 'flower'), (2, 'sun')]
#指定start,从1开始
In [47]: b=list(enumerate(list3,start=1))
In [48]: b
Out[48]: [(1, 'suger'), (2, 'flower'), (3, 'sun')]
#用于for循环
In [49]: for i,v in enumerate(list3):
...: print(i,v)
...:
0 suger
1 flower
2 sun
#定义空字典
In [51]: mapping={}
#for循环将值和索引放到字典中
In [52]: for i,v in enumerate(list3):
...: mapping[v]=i
...:
In [53]: mapping
Out[53]: {'suger': 0, 'flower': 1, 'sun': 2}