Python 函数整理 - zip
2021/7/29 14:35:46
本文主要是介绍Python 函数整理 - zip,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
zip 函数
1. 以多个可迭代对象作为参数,把对象中的元素打包成一个个元组
[1, 2], [3, 4] --> [1, 3], [2, 4]
2. 如果 可迭代对象长度不一致,以短为准
[1, 2], [3, 4, 5] --> [1, 3], [2, 4]
3. 利用 * 号操作符时,输入为 单个可迭代对象,作用是把 可迭代对象中各个元素进行解压,然后再打包
*['abc', [1, 2, 3]] --> ('a', 1), ('b', 2), ('c', 3)
注意 此时 可迭代对象中的 元素也必须 可迭代
4. 返回一个对象,可用 list() 转换为列表,这样可节省内存 【Python2 直接返回 list】
x = zip([1, 2], [3, 4]) print(x, type(x)) # <zip object at 0x0000000003129508> <class 'zip'> list(x) # 转换为列表
示例代码
##### 不带 *,参数为 多个可迭代对象 ### 长度一致 for j in zip([1, 2], [3, 4]): print(j) # (1, 3) # (2, 4) ### 长度不一致,以短为准 for j in zip([1, 2], [3, 4, 5]): print(j) # (1, 3) # (2, 4) ### 也可以是多个 list for j in zip([1, 2], [3, 4, 5], [7, 8]): print(j) # (1, 3, 7) # (2, 4, 8) ##### 带 *,参数为 单个可迭代对象 for i in zip(['flss', 'flsdfs', 'flpposfs']): # 不带 *,便于对比 print(i) # ('flss',) # ('flsdfs',) # ('flpposfs',) for i in zip(*['flss', 'flsdfs', 'flpposfs']): # 带 *,list print(i) # ('f', 'f', 'f') 本来是个 list,把每个元素拆开,对应位置合并,拆开操作理解为解压 # ('l', 'l', 'l') # ('s', 's', 'p') # ('s', 'd', 'p') for i in zip(*('flss', 'flsdfs', 'flpposfs')): # 带 *,tuple print(i) # ('f', 'f', 'f') # ('l', 'l', 'l') # ('s', 's', 'p') # ('s', 'd', 'p') ### 可迭代对象的元素必须可迭代 for i in zip(*('abc', [1, 2, 3])): # 可迭代对象中的元素必须可迭代 print(i) # ('a', 1) # ('b', 2) # ('c', 3) for i in zip(*[1, 2, 3]): # TypeError: zip argument #1 must support iteration 不可迭代报错 print(i)
参考资料:
https://www.runoob.com/python3/python3-func-zip.html Python3 zip() 函数
这篇关于Python 函数整理 - zip的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器