enumerate函数:遍历一个序列的同时追踪当前元素的索引。
some_list=['foo','bar','baz']
mapping={}
for i,value in enumerate(some_list):
mapping[value]=i
print(mapping)
结果显示:
{‘foo’: 0, ‘bar’: 1, ‘baz’: 2}
Process finished with exit code 0
# zip 将列表,元祖或其他序列的元素配对,新建一个元祖构成的列表
seq1=['foo','bar','baz']
seq2=['one','two','three']
zipped=zip(seq1,seq2)
print(list(zipped))
# zip可以处理任意长度的序列,它生成列表长度由最短的序列决定
seq3=['False','True']
print(list(zip(seq1,seq2,seq3)))
结果显示
[(‘foo’, ‘one’), (‘bar’, ‘two’), (‘baz’, ‘three’)]
[(‘foo’, ‘one’, ‘False’), (‘bar’, ‘two’, ‘True’)]
Process finished with exit code 0
一般来说,enumerate和zip函数是一起用的,他们的应用场景
zip的常用场景为同时遍历多个列表,有时候会和enumerate同时使用
seq1=['foo','bar','baz']
seq2=['one','two','three']
for i,(a,b) in enumerate(zip(seq1,seq2)):
print('{}:({},{})'.format(i,a,b))
结果显示
0:(foo,one)
1:(bar,two)
2:(baz,three)
Process finished with exit code 0
|