當前位置:首頁 » 編程語言 » python的zip

python的zip

發布時間: 2024-10-18 18:56:05

1. python中zip函數有哪些高級用法

zip() 功能是從參數的多個迭代器中選取元素組合成一個新的迭代器。顧名思義,它就是一個將對象進行打包和解包的函數。

它可以傳入的參數包括;元組、列表、字典等迭代器

它返回一個zip對象,其內部元素為元組,一組一組的,可以轉化為列表或元組,這里要強調一下,Python2和Python3中返回的zip對象有所不同。

Python3中zip()函數再不再返回list對象,但是可以通過list強行轉換。(類似的函數變化還有dictionary關聯的keys()、values()、items(),map(),filter())。

打包zip(iterables)

上面的代碼使用的環境是Python3.6,其中list (z)操作就是強制轉換。注意一個問題,a和b這兩個列表是不同長短的,這時候zip函數就會匹配完最短的那個便結束。

當zip函數的參數只有一個時,它將從iterable中依次取一個元素,組成一個元組。

解包zip(*iterables)

解包,zip 相反,可理解為解壓,返回多維矩陣形式,有幾個組元素就返回幾維的。

比如,下面我是用三個列表組合起來的迭代式,那麼解壓後就返回三維的矩陣

zip高級用法

講完了基本的再來說一下該函數的高級用法。高級用法離不開一個詞:Pythonic,就是將代碼寫的更優雅美觀,看起來有逼格!

1. 列表推導

例如:

a = [1,2,3,4]
b = [5,6,7,8]

我們要同時遍歷a、b,且要對它們進行操作,那就要放在同一個for循環內,zip函數正好合適

注意:如果是Python2環境中,要使用izip才能提高效率。

當然,如果你需要對下標進行操作,那麼還需要加上enumerate函數

2. 使用zip創建鍵值對,zip方法返回的是一個元組,用它來創建鍵值對,簡單明了。

熱點內容
vb編程投獎 發布:2024-10-18 21:24:12 瀏覽:496
android組件通訊 發布:2024-10-18 21:21:27 瀏覽:584
sqlserver快照 發布:2024-10-18 21:13:30 瀏覽:983
梁打斷演算法 發布:2024-10-18 21:09:19 瀏覽:356
cfm掛機腳本 發布:2024-10-18 21:09:10 瀏覽:792
我的世界登錄進不去伺服器維護 發布:2024-10-18 21:09:09 瀏覽:168
微軟與java 發布:2024-10-18 21:07:52 瀏覽:289
一般解壓 發布:2024-10-18 21:06:21 瀏覽:391
雲伺服器優缺點 發布:2024-10-18 21:06:18 瀏覽:785
矢量圖里的存儲格式 發布:2024-10-18 20:57:17 瀏覽:968