gpt4 book ai didi

python - zip 变量首次使用后为空

转载 作者:太空宇宙 更新时间:2023-11-03 21:17:20 25 4
gpt4 key购买 nike

Python 3.2

t = (1, 2, 3)
t2 = (5, 6, 7)
z = zip(t, t2)

for x in z:
print(x)

结果:

(1, 5)
(2, 6)
(3, 7)

紧接着放入完全相同的循环,不会打印任何内容:

for x in z:
print(x)

z仍然存在为 <zip object at 0xa8d48ec> 。我什至可以重新分配 t , t2再次压缩,但它只能工作一次,而且只能工作一次。

这是它应该如何工作的吗? the docs中没有提及关于这个。

最佳答案

这就是它在 python 3.x 中的工作原理。在 python2.x 中,zip 返回元组列表,但对于 python3.x,zip 的行为类似于 python2.x 中的 itertools.izip 行为。要重新获得 python2.x 行为,只需从 zip 的输出构造一个列表:

z = list(zip(t,t2))

请注意,在 python3.x 中,许多内置函数现在返回迭代器而不是列表(mapzipfilter)

关于python - zip 变量首次使用后为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54592039/

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