标签: python python-3.x
请参阅代码,为什么列表(w)正确显示,h什么都不显示?
h
>>> x=[1,2,3] >>> y=[4,5,6] >>> w=zip(x,y) >>> list(w) [(1, 4), (2, 5), (3, 6)] >>> h=list(w) >>> h []
答案 0 :(得分:7)
在Python 3 中,zip返回iterator 1 。
zip
创建一个迭代器,它聚合来自每个迭代的元素。
迭代器会记住迭代的位置;在h=list(w)行,迭代器已经是#34;在最后"从而产生一个空列表/序列。
h=list(w)
尝试w = list(zip(x,y)),这会强制迭代器到列表一次。
w = list(zip(x,y))
1 Python 2中的zip返回一个列表,因此这种行为仅在Python 3中展示。