首页 > 代码库 > python zip函数介绍

python zip函数介绍

首先用help(zip)来看一下帮助文档:

技术分享

意思是说它返回的是一个元素都为tuple的list,第一个元素tuple由原先的序列1即seq1[0],序列2seq2[0],....组成,第二个元素tuple由seq1[1],seq2[0]....组成,以此类推。。。

举例说明:1。这是比较正常的:

>>> a,b=(1,2,3),(4,5,6)
>>> zip(a,b)
[(1, 4), (2, 5), (3, 6)]

(1,4)由a[0],b[0]组成,(2,5)由a[1],b[1]组成,(3,6)由a[2],b[2]组成

2。这个就有点特殊了。

>>> a=[1,2,3]
>>> zip(a)
[(1,), (2,), (3,)]

3。如下:

>>> a=[[1,2,3],[4,5,6]]
>>> zip(*a)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a)
[([1, 2, 3],), ([4, 5, 6],)]
>>> 

个人理解,zip(*a)中*a有点类似于找到a的地址,即a[0],a[1]=[1,2,3],[4,5,6]中的右半部分,怎么说呢,有点像是去掉外面这层[]的包装外衣找到里面的本质一样。

 

python zip函数介绍