2

是否可以在 python 中同时执行多个循环。

喜欢(当然是语法错误):

for a,b in list_of_a,list_of_b:
      //do some thing

同时,我不是指线程或进程意义。

我的意思是,它们在迭代期间共享相同的索引或光标。

我能想到的是:

  1. 使用 int 变量充当共享游标
  2. 将它们放在元组列表中并迭代元组列表。但是创建列表很费力

我只是想知道是否有一些内置函数或更简单的语法来实现这一点。

4

2 回答 2

9
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) 行为。

于 2011-09-02T12:04:39.483 回答
2
import itertools
for a, b in itertools.izip(list_a, list_b):
    # ...
于 2011-09-02T12:04:38.050 回答