如何同时枚举两个长度相等的列表?我相信一定有更多的pythonic方式来做以下事情:
for index, value1 in enumerate(data1):
print index, value1 + data2[index]
我想在for循环中使用索引、data1index和data2index。
发布于 2013-05-02 05:31:21
对Python2和Python3使用zip
:
for index, (value1, value2) in enumerate(zip(data1, data2)):
print(index, value1 + value2) # for Python 2 use: `print index, value1 + value2` (no braces)
请注意,zip
只运行到两个列表中较短的一个(对于等长列表来说不是问题),但是,如果您想遍历整个列表,则使用itertools.izip_longest
。
发布于 2013-05-02 05:31:34
for i, (x, y) in enumerate(zip(data1, data2)):
在Python2.x中,您可能希望使用itertools.izip
而不是zip
,尤其是。对于很长的列表。
发布于 2016-07-04 17:55:50
from itertools import count
for index, value1, value2 in zip(count(), data1, data2):
print(index, value1, value2)
来源:http://www.saltycrane.com/blog/2008/04/how-to-use-pythons-enumerate-and-zip-to/#c2603
https://stackoverflow.com/questions/16326853
复制相似问题