单个for语句中的多个迭代器

时间:2017-06-27 19:46:23

标签: python python-3.x iterator

是否可以在单个for语句中循环多个迭代器?

>>> for i in range(1), range(2):
...  print(i)
...
0
0
1

2 个答案:

答案 0 :(得分:4)

for语法没有内置任何内容;一个for循环总是循环遍历一个iterable。不过你可以制作 one iterable backed by a bunch of others

import itertools
for i in itertools.chain(range(1), range(2)):
    print(i)

答案 1 :(得分:0)

这是不可能的,但您可以尝试将两个范围合并为一个列表。

for i in (range(1)+ range(2)):
  print(i)

这应该有效。 range(1)和range(2)被扩展为列表,你总是可以使用重载的' +'来连接它们。操作

PS:不能在python3中工作,可能是因为范围是动态生成的。