zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
>>> a=[1,2,3]
>>> b=[4,5,6]
>>> c=[7,8,9,10]
>>> d=[[1,2,3],[4,5,6],[7,8,9]]
>>> list(zip(a,b)) #打包为元组列表
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c)) #a,c元素个数不同,以最短的那个为准
[(1, 7), (2, 8), (3, 9)]
>>> list(zip(*d)) #相当于对矩阵d求转置矩阵
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
注意:python 2和python 3不同,在python 3 中因为返回的是list,座椅要加list() ,python 2 中直接zip(a,b)就可以了