分享

python3中的zip()、zip(*)、list()之间的灵活转换!

 Python集中营 2022-10-10 发布于甘肃

zip()、zip(*)、list()三者之间的转换主要是围绕zip()函数展开的,zip()函数的出现主要是为了减少编程中内存的使用,将可迭代的序列数据进行一定的压缩来达到目的。其他两者list()、zip()主要是为了配合做数据的解压与还原。

首先,初始化几组列表来作为原始数据用于后面的演示,然后通过zip()函数压缩这两组列表数据。

$ ipython
Python 3.8.6 (tags/v3.8.6:db45529, Sep 23 202015: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 = [12345678]

In [2]: b = [109876543]

In [3]: zip_obj = zip(a, b)
print(zip_obj)
<zip object at 0x00748C28>

In [4]: print(list(zip_obj))
[(110), (29), (38), (47), (56), (65), (74), (83)]

再通过zip(*)函数将其解压

In [8]: a1, a2 = zip(*zip(a,b))
In [9]: print(a1)
(12345678)

In [10]: print(a2)
(109876543)

In [11]: list(a1)
Out[11]: [12345678]

In [12]: list(a2)
Out[12]: [109876543]

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多