Python 中zip()函數的用法
阿新 • • 發佈:2017-08-13
方便 函數 function 循環 3.0 速度 支持 get 對象
1. 定義:
zip()是Python的一個內建函數,它接受一系列可叠代的對象作為參數,將對象中對應的元素打包成一個個tuple(元組),然後返回由這些tuples組成的list(列表)。
若傳入參數的長度不等,則返回list的長度和參數中長度最短的對象相同。利用*號操作符,可以將list unzip(解壓)。
2. 常見用法:
A. 使用zip()函數來可以把列表合並,並創建一個元組對的列表
需要註意的是:在python
3.0
中
zip
()是可叠代對象,使用時必須將其包含在一個
list
中,方便一次性顯示出所有結果
如圖:
B. zip()參數可以接受任何類型的序列,同時也可以有兩個以上的參數;當傳入參數的長度不同時,zip能自動以最短序列長度為準進行截取,獲得元組。
如圖:
C. 搭配for循環,支持並行叠代
如圖:
D. zip() 和 * 操作符一起操作可以用來 unzip 一個列表:
如圖:
註:在函數調用中使用*list/tuple的方式表示將list/tuple分開,作為位置參數傳遞給對應函數(前提是對應函數支持不定個數的位置參數)
E:二維矩陣變換(矩陣的行列互換)
列表推導的方法
zip函數: 這種方法速度更快但也更難以理解,將list看成tuple解壓,恰好得到我們“行列互換”的效果,再通過對每個元素應用list()函數,將tuple轉換為list
F:以指定概率獲取元素:
Python 中zip()函數的用法