是否可以在 python 中同时执行多个循环。
喜欢(当然是语法错误):
for a,b in list_of_a,list_of_b:
//do some thing
同时,我不是指线程或进程意义。
我的意思是,它们在迭代期间共享相同的索引或光标。
我能想到的是:
- 使用 int 变量充当共享游标
- 将它们放在元组列表中并迭代元组列表。但是创建列表很费力
我只是想知道是否有一些内置函数或更简单的语法来实现这一点。
是否可以在 python 中同时执行多个循环。
喜欢(当然是语法错误):
for a,b in list_of_a,list_of_b:
//do some thing
同时,我不是指线程或进程意义。
我的意思是,它们在迭代期间共享相同的索引或光标。
我能想到的是:
我只是想知道是否有一些内置函数或更简单的语法来实现这一点。
for a,b in zip(list_of_a, list_of_b):
# Do some thing
如果您使用的是 Python 2.x,担心性能,和/或使用迭代器而不是列表,请考虑itertools.izip
使用zip
.
在 Python 3.x 中,zip
替换itertools.izip
; 用于list(zip(..))
获取zip
返回列表的旧 (2.x) 行为。
import itertools
for a, b in itertools.izip(list_a, list_b):
# ...