Python_内置函数之zip
zip函数用于将可迭代对象作为参数,将可迭代对象中的元素打包成一个个元祖,然后返回这些元祖组成的一个zip对象,可以使用list()方法将这个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)