python3中的zip()、zip(*)、list()之间的灵活转换!
zip()、zip(*)、list()三者之间的转换主要是围绕zip()函数展开的,zip()函数的出现主要是为了减少编程中内存的使用,将可迭代的序列数据进行一定的压缩来达到目的。其他两者list()、zip()主要是为了配合做数据的解压与还原。
首先,初始化几组列表来作为原始数据用于后面的演示,然后通过zip()函数压缩这两组列表数据。
$ ipython
Python 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:37:30) [MSC v.1927 32 bit (Intel)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.29.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: a = [1, 2, 3, 4, 5, 6, 7, 8]
In [2]: b = [10, 9, 8, 7, 6, 5, 4, 3]
In [3]: zip_obj = zip(a, b)
print(zip_obj)
<zip object at 0x00748C28>
In [4]: print(list(zip_obj))
[(1, 10), (2, 9), (3, 8), (4, 7), (5, 6), (6, 5), (7, 4), (8, 3)]
再通过zip(*)函数将其解压
In [8]: a1, a2 = zip(*zip(a,b))
In [9]: print(a1)
(1, 2, 3, 4, 5, 6, 7, 8)
In [10]: print(a2)
(10, 9, 8, 7, 6, 5, 4, 3)
In [11]: list(a1)
Out[11]: [1, 2, 3, 4, 5, 6, 7, 8]
In [12]: list(a2)
Out[12]: [10, 9, 8, 7, 6, 5, 4, 3]
【往期精彩】
● python print() 函数的格式化字符串输出
● PyQt5 GUI && Requests Api 做一个天气查询系统(文末领取完整代码)!
● 一款优美的windows cmd命令行工具cmder
● excel数据处理二:快速完成openpyxl数据的新增、修改!
● 如何进行excel数据分析之后的可视化数据写入保存!
● excel数据处理一:巧妙使用openpyxl提取、筛选数据
● 比Selenium更方便的自动化测试工具Helium!
● Python数据可视化:可视化数据分析插件D-Tale
● 冒泡排序、选择排序之间的比较与代码实现!
● 计算速度太慢?试试 lru_cache 装饰器!
欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!
标签:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)