我将如何转动成对(元组)的生成器:
tuple_gen = (i for i in [(1, "a"), (2, "b"), (3, "c")])
进入两个发电机,将产生[1, 2, 3]
and ["a", "b", "c"]
?
我需要分别处理元组的第一个和第二个元素,并且处理函数需要一个可迭代的。
生成器非常大(数百万个项目),因此我想避免同时将所有项目存储在内存中,除非没有其他解决方案。
您可以创建n
使用不同的迭代器tee https://docs.python.org/3.6/library/itertools.html#itertools.teeitertools 包中的函数。然后您将分别迭代它们:
from itertools impor tee
i1, i2 = tee(tuple_gen, n=2)
firsts = (x[0] for x in i1)
seconds = (x[1] for x in i2)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)