zip函数用于将可迭代的对象作为参数,将对象中的元素打包成一个个元祖,然后返回这些元祖组成的列表.如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同.
l1 = [1, 2, 3] l2 = ['a', 'b', 'c', 5] l3 = ['*', '**', (1, 2, 3)] for i in zip(l1, l2, l3): print(i)
结果如下:
(1, 'a', '*') (2, 'b', '**') (3, 'c', (1, 2, 3))
zip在处理字典时,只是处理字典的key.可以利用此特性做其他操作.
dic1 = { 'A': 111, 'B': 222, 'C': 333 } dic2 = { 'a': 444, 'b': 555, 'c': 666 } ret = zip(dic1, dic2) for i in ret: print(i)
结果:
('A', 'a') ('B', 'b') ('C', 'c')
其他用法结合扩展使用:
dic1 = { 'A': 111, 'B': 222, 'C': 333 } dic2 = { 'a': 444, 'b': 555, 'c': 666 } ret = zip(dic1.keys(), dic2.values()) for i in ret: print(i)
结果:
('A', 444) ('B', 555) ('C', 666)