假设我有两个或更多相同长度的列表.迭代它们的好方法是什么?
a,b是名单.
for i, ele in enumerate(a):
print ele, b[i]
Run Code Online (Sandbox Code Playgroud)
要么
for i in range(len(a)):
print a[i], b[i]
Run Code Online (Sandbox Code Playgroud)
或者我缺少任何变种?
使用一个优于其他优势是否有任何特别的优势?
Sve*_*ach 123
通常的方法是使用zip():
for x, y in zip(a, b):
# x is from a, y is from b
Run Code Online (Sandbox Code Playgroud)
当两个迭代中较短的一个a并且b耗尽时,这将停止.另外值得注意的是:( itertools.izip()仅限Python 2)和itertools.izip_longest()(itertools.zip_longest()在Python 3中).
Rac*_*lit 15
你可以使用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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116507 次 |
| 最近记录: |