假设我有两个或两个以上相同长度的列表。遍历它们的好方法是什么?
a,b是列表。
a
b
for i, ele in enumerate(a): print ele, b[i]
要么
for i in range(len(a)): print a[i], b[i]
还是我缺少任何变体?
使用一个相对于另一个有什么特别的优势吗?
通常的方法是使用zip():
zip()
for x, y in zip(a, b): # x is from a, y is from b
这将停止两个iterables时较短a且b耗尽。另外值得注意的是:(itertools.izip()仅适用于Python 2)和itertools.izip_longest()(适用itertools.zip_longest()于Python 3)。
itertools.izip()
itertools.izip_longest()
itertools.zip_longest()