Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 连接生成器和项目_Python_Iterator_Generator_List Comprehension - Fatal编程技术网

Python 连接生成器和项目

Python 连接生成器和项目,python,iterator,generator,list-comprehension,Python,Iterator,Generator,List Comprehension,我有一个生成器(数字)和一个值(数字)。我想重复这些,就好像它们是一个序列: 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_

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

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)
但我想知道,如果没有函数定义,是否可以将多个序列视为单个序列

因此,您可以将其用作:

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)
。这里的文档:

python没有内置生成器,这太疯狂了。我理解finitude参数,但同样的问题也出现在
itertools.chain
中,对吗?