最佳的方式是同时迭代多个列表?
最佳的方式是同时迭代多个列表?
这个问题的答案已经存在了:
假设我有两个或多个等长列表。有什么好的方法可以遍历它们?
a
,b
是这些列表。
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日
通常的方法是使用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()
)。