gpt4 book ai didi

python - 如何解压缩迭代器?

转载 作者:太空狗 更新时间:2023-10-29 20:12:22 24 4
gpt4 key购买 nike

给定一个 xys 对列表,将其解压缩为两个列表的 Python 习惯用法是:

xs, ys = zip(*xys)

如果 xys 是一个迭代器,我如何将它解压缩为两个迭代器,而不将所有内容都存储在内存中?

最佳答案

假设您有一些可迭代的对:

a = zip(range(10), range(10))

如果我正确地解释了您的要求,您可以使用 itertools.tee 为第一个和第二个生成独立的迭代器。 :

xs, ys = itertools.tee(a)
xs, ys = (x[0] for x in xs), (y[1] for y in ys)

注意这将在内存中保留您迭代其中一个与另一个之间的“差异”。

关于python - 如何解压缩迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30805000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com