zip函数基本操作
zip函数将数据进行重新组合,直观上感觉像压缩zip了一样,zip函数在增加了原始数据结构维度的同时,还将内部元素转化为元祖类型
Example
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
print xyz
结果:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
数据长度不一
x = [1, 2, 3]
y = [4, 5, 6, 7]
xy = zip(x, y)
print xy
结果:[(1, 4), (2, 5), (3, 6)]
从这个结果可以看出zip函数的长度处理方式
单个参数
x = [1, 2, 3]
x = zip(x)
print x
结果:[(1,), (2,), (3,)]
只有一个参数时,一方面将一维的结构转化为二维,同时将元素转化为原组类型
解压操作
解压已经被zip处理后的数据,简单的可以理解为矩阵转置操作
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
u = zip(*xyz)
print u
结果:[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
分析:xyz zip压缩==> [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
解压后 [(1, 2, 3), (4, 5, 6), (7, 8, 9)],注意解压也是只是结构于原先一致,但是数据类型由原先的list转为tuple