我有一个生成器的列表lg
,lg = [g1, g2, ..., gn]
。这些生成器被合并为一个具有izip
,G = izip(*lg)
的生成器。{{{cd6}的结果通常是由cd6}生成的。但是,我需要解包元组,即当迭代G
时,G
应该生成一个没有嵌套元组的元组。当构造G
时,是否可以对g1进行解压缩?在
编辑:示例(来自@jsbueno的shortend版本):
from itertools import izip
g1 = izip(xrange(1,3), xrange(3,5))
g2 = xrange(10, 13)
g3 = xrange(20, 23)
lg = [g1, g2, g3]
for i in izip(*lg):
print i
生产
^{pr2}$但我需要
(1, 3, 10, 20)
(2, 4, 11, 21)
因为“izip”需要关于内部izip内部迭代器的信息,而izip在这方面是不透明的(也就是说,你不能获取给定izip对象的izip的参数),所以我们要做的就是重新实现izip的功能,但要以一种意识到它的方式-如果传递的迭代器是一个元组,用于将其连接到结果中,而不是将其作为单个项添加:
相关问题 更多 >
编程相关推荐