从python2到python3,zip函数的使用发生了很大的变化。
- 在python2中,zip函数返回的是一个list,可以直接使用list相关的函数,比如,len(), 索引。
zip2 = zip([1,2,3],[4,5,6])
print zip2
print len(zip2)
print zip2[0]
[(1, 4), (2, 5), (3, 6)]
3
(1, 4)
- 在python3中,zip函数返回的是一个对象,不能直接使用,但是可以使用list函数将对象转为list。
zip3 = zip([1,2,3],[4,5,6])
print(zip3)
print(list(zip3))
<zip object at 0x7fd5e9ddf7c8>
[(1, 4), (2, 5), (3, 6)]
也可以使用for循环,或者列表解析来访问对象里面的数据。
>>> for item in zip3:
... print(item)
...
(1, 4)
(2, 5)
(3, 6)
>>> [item for item in zip3]
[(1, 4), (2, 5), (3, 6)]