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]
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦