Python:Zip函数[重复]

bvhaajcl  于 2023-01-08  发布在  Python
关注(0)|答案(1)|浏览(113)
    • 此问题在此处已有答案**:

Why can't I iterate twice over the same iterator? How can I "reset" the iterator or reuse the data?(5个答案)
4年前关闭。

t1 = ("a", "b", "c", "d")
t2 = (1, 2, 3, 4)
z = zip(t1, t2)
print(list(z))
print(dict(z))

看起来我们只能强制转换zip对象一次。在z = zip(t1, t2)之后,只有第一次强制转换list(z)dict(z)有效,另一次无效。为什么会这样?

3okqufwl

3okqufwl1#

另一种选择是使用itertools.tee()函数创建生成器的第二个版本:

from itertools import tee
t1 = ("a", "b", "c", "d")
t2 = (1, 2, 3, 4)
z,z_backup = tee(zip(t1, t2))
print(list(z))
print(dict(z_backup))

相关问题