从字典 return 空列表中打印一个 zip

Printing a zip from dictionary return Empty list

我在 python 中从 dictionary 中执行这个简单的 zip,我不确定为什么我第二次这样做时它会给我一个空列表。

l1= {'a':6, 'b':5, 'c':3, 'd':2, 'e':1, 'f':7, 'g':4, 'h':9}
l2={'a':7, 'b':5, 'c':2, 'd':3, 'e':8}

z=zip(l1.values(),l2.values())

print(list(z)) #This gives me correct output.
print(list(z)) #This gives me EMPTY list. WHY?

[(6, 7), (5, 5), (3, 2), (2, 3), (1, 8)]
[]

你可以使用 zip 一次,因为它 iter object

你可以把它转换成list object

import copy
l1= {'a':6, 'b':5, 'c':3, 'd':2, 'e':1, 'f':7, 'g':4, 'h':9}
l2={'a':7, 'b':5, 'c':2, 'd':3, 'e':8}

z=list(zip(l1.values(),l2.values()))
print(list(z)) #This gives me correct output.
print(list(z)) #This gives me EMPTY list. WHY?

输出

[(6, 7), (5, 5), (3, 2), (2, 3), (1, 8)]
[(6, 7), (5, 5), (3, 2), (2, 3), (1, 8)]