zip()函数
zip函数
zip函数有两个功能:
- 打包
- 解包
打包
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。(python3为了减少内存返回的是对象)
z=zip(('a','b'),(1,2)) print(z)#<zip object at 0x01F58B70>
你也可以用dict把zip对象转换成一个字典
z=dict(zip(('a','b'),(1,2))) print(z)#{'a': 1, 'b': 2}
当各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
解包
在zip传递 ‘*’用于解包,这时你要传一个zip对象:
z0=zip(('a','b'),(1,2)) z1=zip(*z0) print(z1)#<zip object at 0x01F98BE8>
解包后直接返回一个字典:
z0=zip(('a','b'),(1,2)) z2=dict(zip(*z0)) print(z2)#{'a': 'b', 1: 2}