语法
zip([iterable, ...])
参数说明:
- iterable — 一个或多个迭代器;
返回值:列表,其元素是元组类型
打包
将两个list进行打包
a = ['李雷','韩梅梅','lucy','lili']
b = [1,2,3,4]
res = zip(a,b) # 打包为元组的列表
执行结果:
[('李雷',1), ('韩梅梅',2), ('lucy',3),('lili',4) ]
元素数量不同
a = [1,2,3]
b = [4,5,6,7,8]
res2 = zip(a,b) # 元素个数与最短的列表一致
执行结果:
[(1, 4), (2, 5), (3, 6)]
拆包
当一个list,其元素是 tuple 或 list,元素个数相同时,可以进行拆包
d = [(1, 4), (2, 5), (3, 6)]
res = zip(*d) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
print(res)
执行结果:
[(1, 2, 3), (4, 5, 6)]
分别取出各个返回值
d = [(1, 4), (2, 5), (3, 6)]
res1,res2 = zip(*d)
print(res1)
print(res2)
执行结果:
(1, 2, 3)
(4, 5, 6)
参考:
https://www.runoob.com/python/python-func-zip.html
