我想以一种有效的方式连接两个迭代器。
假设我们有两个迭代器(在Python3中)
l1 = range(10) # iterator over 0, 1, ..., 9
l2 = range(10, 20) # iterator over 10, 11, ..., 19
如果我们将它们转换为列表,很容易将
y = list(l1) + list(l2) # 0, 1, ,..., 19
然而,这可能没有效率。
我想做一些像
y_iter = l1 + l2 # this does not work
在Python3中,什么是好的方法?
使用^{} :
它产生来自
l1
的所有项,然后产生来自l2
的所有项。有效地连接产生项的序列。在这个过程中,两者都消耗掉了。您可以使用itertools提供的chain()函数
itertools.chain()
相关问题 更多 >
编程相关推荐