Python zip函式及用法

2021-09-26 03:53:18 字數 1190 閱讀 5105

zip() 函式可以把兩個列表「壓縮」成乙個 zip 物件(可迭代物件),這樣就可以使用乙個迴圈並行遍歷兩個列表。為了測試 zip() 函式的功能,我們可以先在互動式直譯器中「試驗」一下該函式的功能。

>>> a = ['a','b','c']

>>> b = [1, 2, 3]

>>> [x for x in zip(a,b)]

[('a', 1), ('b', 2), ('c', 3)]

從上面的測試結果來看,zip() 函式壓縮得到的可迭代物件所包含的元素是由原列表元素組成的元組。

pthon 2.x 的 zip() 函式直接返回列表,而不是返回 zip 物件。python 2.x 的 zip() 函式返回的列表所包含的元素和 python 3.x 的 zip() 返回的 zip 物件所包含的元素相同。

例如:

>>> c = [0.1 ,0.2]

>>> [x for x in zip(a,c)]

[('a', 0.1), ('b', 0.2)]

從上面**可以看出,如果 zip() 函式壓縮的兩個列表長度不相等,那麼 zip() 函式將以長度更短的列表為準。

zip() 函式不僅可以壓縮兩個列表,也可以壓縮多個列表。比如下面試驗同時壓縮 3 個列表:

>>> [x for x in zip(a, b, c)]

[('a', 1, 0.1), ('b', 2, 0.2)]

從上面**可以看出,如果使用 zip() 函式壓縮 n 個列表,那麼 zip() 函式返回的可迭代物件的元素就是長度為 n 的元組。

下面**示範了使用 zip() 函式來實現並行遍歷的效果:

books = ['瘋狂kotlin講義', '瘋狂swift講義', '瘋狂python講義']

prices = [10, 20, 30]

# 使用zip()函式壓縮兩個列表,從而實現並行遍歷

for book, price in zip(books, prices):

print("%s的**是: %5.2f" % (book, price))

結果為:

瘋狂kotlin講義的**是10

瘋狂swift講義的**是20

瘋狂python講義的**是30

Python zip函式及用法

zip 函式是 python 內建函式之一,它可以將多個序列 列表 元組 字典 集合 字串以及 range 區間構成的列表 壓縮 成乙個 zip 物件。所謂 壓縮 其實就是將這些序列中對應位置的元素重新組合,生成乙個個新的元組。和 python 3.x 版本不同,python 2.x 版本中的 zi...

Python zip 函式的用法

python函式式程式設計之zip zip zip 函式接受0個或多個序列作為引數,返回乙個tuple列表。zip 函式具體的工作機制是,將每個列表中同一位置的元素取出來組成乙個元組,存放到乙個列表中,然後返回這個列表。舉例說明 x 1,2,3 y a b c z 4,5,6 zip xyz zip...

Python zip 函式用法詳解

zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。注 在python3中返回的是zip物件 zip的語法格式 zip iterable,其中 iterable,表示多個列表 元組 字典 集合 字串,甚至還可以為 range 區間。下面演示一下z...