gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:54:30 29 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 的行为类似于 itertools.izip 在 python2.x 中的行为.要恢复 python2.x 的行为,只需从 zip 的输出构建一个列表:

z = list(zip(t,t2))

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

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

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