如何从python中的两个列表生成一个生成器?

Bov*_*ard 4 python generator

给出列表a,b

a = [5, 8, 9]
b = [6, 1, 0]
Run Code Online (Sandbox Code Playgroud)

我想创建一个生成器gen,以便:

for x in gen:
  print x
Run Code Online (Sandbox Code Playgroud)

输出

5, 8, 9, 6, 1, 0
Run Code Online (Sandbox Code Playgroud)

Ash*_*ary 7

你可以使用itertools.chain:

>>> from itertools import chain
>>> a = [5, 8, 9]
>>> b = [6, 1, 0]
>>> it=chain(a,b)
>>> for x in it:
    print x,
...     
5 8 9 6 1 0
Run Code Online (Sandbox Code Playgroud)

  • `iter(..)`不生成一个生成器,它创建一个迭代器.你宁愿做`chain(a,b)`.`a + b`只是将两个列表的新副本组合在一起,当您不需要该副本时效率不高. (5认同)