连接生成器和项

2024-05-06 06:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个生成器(数字)和一个值(数字)。我想重复这些,就好像它们是一个序列:

i for i in tuple(my_generator) + (my_value,)

问题是,就我所知,这只会创建3个元组来立即丢弃它们,同时还会复制一次“my_generator”中的项。

更好的方法是:

def con(seq, item):
    for i in seq:
        yield seq
    yield item

i for i in con(my_generator, my_value)

但我想知道没有那个函数定义是否可以做到


Tags: 方法inforvaluemydef序列数字
3条回答

^{}将多个序列视为单个序列。

所以你可以把它当作:

import itertools

def my_generator():
    yield 1
    yield 2

for i in itertools.chain(my_generator(), [5]):
    print i

它将输出:

1
2
5

尝试itertools.chain(*iterables)。这里的文档:http://docs.python.org/library/itertools.html#itertools.chain

相关问题 更多 >