把元組("a","b")和元組(1,2)漓藕,變?yōu)樽值鋥"a":1,"b":2}
a, b = ("a","b"), (1,2)
z = zip(a, b)
z
[("a", 1), ("b", 2)]
-------------------
c = dict(z)
c
Out[8]: {'a': 1, 'b': 2}
優(yōu)化代碼
=============================
dict(zip(("a","b"), (1,2)))
-----------------------------------
Out[4]: {'a': 1, 'b': 2}
總結(jié)
zip() 函數(shù)用于將可迭代的對象作為參數(shù)堪夭,將對象中對應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表渣玲。
如果各個(gè)迭代器的元素個(gè)數(shù)不一致器贩,則返回列表長度與最短的對象相同偏友,利用 * 號操作符蔬胯,可以將元組解壓為列表。
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 打包為元組的列表
[(1, 4), (2, 5), (3, 6)]
zip(a,c) # 元素個(gè)數(shù)與最短的列表一致
[(1, 4), (2, 5), (3, 6)]
zip(zipped) # 與 zip 相反约谈,zipped 可理解為解壓笔宿,返回二維矩陣式
[(1, 2, 3), (4, 5, 6)]