最佳的方式是同时迭代多个列表?

13 浏览
0 Comments

最佳的方式是同时迭代多个列表?

这个问题的答案已经存在了:

如何同时迭代两个列表?

假设我有两个或多个等长列表。有什么好的方法可以遍历它们?

ab是这些列表。

 for i, ele in enumerate(a):
    print ele, b[i]

或者

for i in range(len(a)):
   print a[i], b[i]

还有其他的变种吗?

使用其中一个是否有特别的优势?

admin 更改状态以发布 2023年5月22日
0
0 Comments

你可以使用 zip

>>> a = [1, 2, 3]
>>> b = ['a', 'b', 'c']
>>> for x, y in zip(a, b):
...   print x, y
... 
1 a
2 b
3 c

0
0 Comments

通常的方法是使用zip()

for x, y in zip(a, b):
    # x is from a, y is from b


当可迭代对象a和b中较短的一个耗尽时,该方法就会停止。 还值得注意的是:itertools.izip()(仅适用于Python 2)和itertools.izip_longest()(Python 3中的itertools.zip_longest())。

0