python zip 打包、拆包(将2个列表打包,将一个列表拆包) 作者:马育民 • 2024-04-04 16:28 • 阅读:10023 # 语法 ``` zip([iterable, ...]) ``` 参数说明: - iterable -- 一个或多个迭代器; 返回值:列表,其元素是元组类型 # 打包 将两个list进行打包 [![](/upload/0/0/1IX30ifcIxL6.png)](/upload/0/0/1IX30ifcIxL6.png) ``` 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 原文出处:https://malaoshi.top/show_1IX7RuaPtcdw.html