python3中的zip()、zip(*)、list()之間的靈活轉換!


zip()、zip(*)、list()三者之間的轉換主要是圍繞zip()函數展開的,zip()函數的出現主要是為了減少編程中內存的使用,將可迭代的序列數據進行一定的壓縮來達到目的。其他兩者list()、zip()主要是為了配合做數據的解壓與還原。

file

閱讀全文

首先,初始化幾組列表來作為原始數據用於后面的演示,然后通過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]

file

【往期精彩】

● python print() 函數的格式化字符串輸出

● PyQt5 GUI && Requests Api 做一個天氣查詢系統(文末領取完整代碼)!

● 一款優美的windows cmd命令行工具cmder

● excel數據處理二:快速完成openpyxl數據的新增、修改!

● 如何進行excel數據分析之后的可視化數據寫入保存!

● excel數據處理一:巧妙使用openpyxl提取、篩選數據

● 比Selenium更方便的自動化測試工具Helium!

● Python數據可視化:可視化數據分析插件D-Tale

● 冒泡排序、選擇排序之間的比較與代碼實現!

● 計算速度太慢?試試 lru_cache 裝飾器!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM