Tar*_*rGz 28 python iterator list-comprehension generator
我有一个生成器(数字)和一个值(数字).我想迭代这些,好像它们是一个序列:
i for i in tuple(my_generator) + (my_value,)
Run Code Online (Sandbox Code Playgroud)
问题是,据我所知,这会创建3个元组,只是立即丢弃它们,并且还会复制"my_generator"中的项目一次.
更好的approch将是:
def con(seq, item):
for i in seq:
yield seq
yield item
i for i in con(my_generator, my_value)
Run Code Online (Sandbox Code Playgroud)
但我想知道没有那个函数定义是否可以做到这一点
Mar*_*off 42
itertools.chain 将几个序列视为单个序列.
所以你可以用它作为:
import itertools
def my_generator():
yield 1
yield 2
for i in itertools.chain(my_generator(), [5]):
print i
Run Code Online (Sandbox Code Playgroud)
哪个会输出:
1
2
5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13988 次 |
| 最近记录: |