pythonzip()函数的使⽤任吉忠
解释:
后缀为zip的⽂件肯定都见过吧?zip是打包压缩好的⼀个⽂件,所以,zip()函数也简单的理解为打包压缩函数,将不同个数相同类型的字段结合在⼀起。
官⽅定义为:zip() 函数⽤于将可迭代的对象作为参数,将对象中对应的元素打包成⼀个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不⼀致,则返回列表长度与最短的对象相同,利⽤ * 号操作符,可以将元组解压为列表。 看两段代码:
字符串:
a = '1111'
b = '22222'
print"字符串zip():",zip(a,b)
print"字符串解压zip得到的是列表,⾥⾯是元组:",zip(*zip(a,b)) za,zb =zip(*zip(a,b))
print"za is {za},zb is {zb}".format(za=za,zb=zb)
结果:
盛女为爱作战字符串zip(): [('1', '2'), ('1', '2'), ('1', '2'), ('1', '2')]
字符串解压zip得到的是列表,⾥⾯是元组: [('1', '1', '1', '1'), ('2', '2', '2', '2')]
za is ('1', '1', '1', '1'),zb is ('2', '2', '2', '2')
列表:
la = [1,2,3,4]
lb = [1,2,3,4,5]
print"列表zip():",zip(la,lb)
print"列表解压zip得到的是列表,⾥⾯是元组:",zip(*zip(la,lb))
zla,zlb = zip(*zip(la,lb))
print"zla is {zla},zlb is {zlb}".format(zla=zla,zlb=zlb)
执⾏结果:
列表zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]
列表解压zip得到的是列表,⾥⾯是元组: [(1, 2, 3, 4), (1, 2, 3, 4)]
zla is (1, 2, 3, 4),zlb is (1, 2, 3, 4)
元组:
ta = [1,2,3,4]
tb = [1,2,3,4,5]
print"元组zip():",zip(ta,tb)
print"元组解压zip得到的是列表,⾥⾯是元组:",zip(*zip(ta,tb))
zta,ztb = zip(*zip(ta,tb))
劳思光print"zta is {zta},ztb is {ztb}".format(zta=zta,ztb=ztb)
铝箔执⾏结果:
元组zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]
元组解压zip得到的是列表,⾥⾯是元组: [(1, 2, 3, 4), (1, 2, 3, 4)]
第一看点zta is (1, 2, 3, 4),ztb is (1, 2, 3, 4)
遍历:
la = [1,2,3,4]
lb = [1,2,3,4,5]
for i,j in zip(la,lb):
print i,j
执⾏结果:
1 1
2 2
3 3
4 4
总结:有以上可以看出,1.只要可以迭代的相同类型的可以压缩成⼀个元素是元组的列表。
2.解压之后都是元素为元组的列表。
贾昊悦 3.以长度最少的为标准。