同时执行多个for循环
在Python中,可以同时进行多个循环吗?
就像(当然,这样写会出错):
for a,b in list_of_a,list_of_b:
//do some thing
这里说的同时,我不是指线程或进程的那种同时。
我指的是在循环的时候,它们共享同一个索引或游标。
我想到的实现方法有:
- 使用一个整数变量来充当共享的游标
- 把它们放在一个元组的列表中,然后遍历这个元组列表。但创建这个列表比较麻烦
我只是想知道有没有一些内置的函数或者更简单的语法可以做到这一点。
2 个回答
2
在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够清晰,或者是逻辑上有些混乱。这样的问题通常会让我们感到困惑,不知道该如何解决。
为了帮助大家更好地理解这些问题,我们可以尝试用简单的例子来说明。比如说,如果你在写一个程序时,发现某个功能没有按预期工作,首先要检查一下代码的每一部分,看看是不是哪里出错了。
有时候,问题可能出在变量的使用上,或者是条件判断不够准确。这时候,我们可以通过打印一些调试信息,来观察程序在运行时的状态,这样就能更容易找到问题所在。
总之,编程就像解谜一样,需要耐心和细心。遇到问题时,不要急于求成,慢慢分析,逐步解决。
import itertools
for a, b in itertools.izip(list_a, list_b):
# ...
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
;如果你想让zip
像以前(2.x)那样返回一个列表,可以使用list(zip(..))
。