码步停蹄 2022-11-25 10:42 采纳率: 80%
浏览 5
已结题

关于PYTHON--ZIP的问题

关于PYTHON--ZIP的问题

list1 = [11, 22, 33, 44]
list2 = [55, 66, 77, 88]
z1 = zip(list1, list2)

#z2 = list(z1)
print(type(z1))

for x, y in z1:
    print(x, y)

这段代码,如果没有对Z1使用LIST函数,那么结果正常,但加了#z2 = list(z1),后面的遍历就无法显示
而且无论加这条代码,Z1都是一个ZIP格式的数据

这是为什么?

  • 写回答

2条回答 默认 最新

  • 阿_旭 2022-11-25 11:06
    关注

    因为zip是一个生成器,它只存储一次值,list(z1)之后,原来的z1内存被释放就变为空的列表了。
    下面代码第二次打印出来的是一个空的列表。

    # -*- coding: utf-8 -*-
    
    list1 = [11, 22, 33, 44]
    list2 = [55, 66, 77, 88]
    z1 = zip(list1, list2)
    
    print(list(z1))
    print(list(z1))
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月3日
  • 已采纳回答 11月25日
  • 创建了问题 11月25日