同时执行多个for循环

时间:2011-09-02 12:02:31

标签: python for-loop simultaneous

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

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

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

通过同时,我意味着线程或过程意义。

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

我能想到的目标是:

  1. 使用int变量充当共享游标
  2. 将它们放在元组列表中并迭代元组列表。但创建列表很费力
  3. 我只是想知道是否有一些内置函数或更简单的语法来实现它。

2 个答案:

答案 0 :(得分: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)行为。

答案 1 :(得分:2)

import itertools
for a, b in itertools.izip(list_a, list_b):
    # ...