使用Python zip-function时如何获取循环索引?

时间:2012-11-23 13:13:23

标签: python for-loop indexing

当同时循环遍历我使用zip - 函数的多个python列表时,我还想检索循环索引。为此,可以在zip函数中包括循环索引的单独列表,例如:

for index, item1, item2 in zip(range(len(list1)), list1, list2):
    <do something>

有没有更好的方法(例如在enumerate - 函数中)?

2 个答案:

答案 0 :(得分:4)

您可以在for

中解压缩所有内容
>>> for i, (x1, x2) in enumerate(zip([1,2,3], [3,4,5])):
...     print i, x1, x2
... 
0 1 3
1 2 4
2 3 5

答案 1 :(得分:4)

您可以使用enumerate()(请注意for之后括号的位置以解压缩嵌套元组):

>>> l1 = range(0, 10)
>>> l2 = range(10, 20)
>>> for index, (item1, item2) in enumerate(zip(l1, l2)):
...   print index, item1, item2
... 
0 0 10
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18
9 9 19