zip()、zip(*)、list()三者之間的轉(zhuǎn)換主要是圍繞zip()函數(shù)展開的,zip()函數(shù)的出現(xiàn)主要是為了減少編程中內(nèi)存的使用,將可迭代的序列數(shù)據(jù)進行一定的壓縮來達到目的。其他兩者list()、zip()主要是為了配合做數(shù)據(jù)的解壓與還原。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設、成都外貿(mào)網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)安鄉(xiāng)免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
閱讀全文
首先,初始化幾組列表來作為原始數(shù)據(jù)用于后面的演示,然后通過zip()函數(shù)壓縮這兩組列表數(shù)據(jù)。
$ ipython
Python 3.8.6 (tags/v3.8.6:db, 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)
In [4]: print(list(zip_obj))
[(1, 10), (2, 9), (3, 8), (4, 7), (5, 6), (6, 5), (7, 4), (8, 3)]
再通過zip(*)函數(shù)將其解壓
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() 函數(shù)的格式化字符串輸出
● PyQt5 GUI && Requests Api 做一個天氣查詢系統(tǒng)(文末領(lǐng)取完整代碼)!
● 一款優(yōu)美的windows cmd命令行工具cmder
● excel數(shù)據(jù)處理二:快速完成openpyxl數(shù)據(jù)的新增、修改!
● 如何進行excel數(shù)據(jù)分析之后的可視化數(shù)據(jù)寫入保存!
● excel數(shù)據(jù)處理一:巧妙使用openpyxl提取、篩選數(shù)據(jù)
● 比Selenium更方便的自動化測試工具Helium!
● Python數(shù)據(jù)可視化:可視化數(shù)據(jù)分析插件D-Tale
● 冒泡排序、選擇排序之間的比較與代碼實現(xiàn)!
● 計算速度太慢?試試 lru_cache 裝飾器!