新聞中心
zip() 函數(shù)可以把兩個(gè)列表“壓縮”成一個(gè) zip 對(duì)象(可迭代對(duì)象),這樣就可以使用一個(gè)循環(huán)并行遍歷兩個(gè)列表。為了測(cè)試 zip() 函數(shù)的功能,我們可以先在交互式解釋器中“試驗(yàn)”一下該函數(shù)的功能。

成都創(chuàng)新互聯(lián)公司專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國(guó)電信/網(wǎng)通/移動(dòng)機(jī)房,服務(wù)器機(jī)柜租用服務(wù)有保障!
>>> a = ['a','b','c']
>>> b = [1, 2, 3]
>>> [x for x in zip(a,b)]
[('a', 1), ('b', 2), ('c', 3)]
從上面的測(cè)試結(jié)果來(lái)看,zip() 函數(shù)壓縮得到的可迭代對(duì)象所包含的元素是由原列表元素組成的元組。
Pthon 2.x 的 zip() 函數(shù)直接返回列表,而不是返回 zip 對(duì)象。Python 2.x 的 zip() 函數(shù)返回的列表所包含的元素和 Python 3.x 的 zip() 返回的 zip 對(duì)象所包含的元素相同。
例如:
>>> c = [0.1 ,0.2]
>>> [x for x in zip(a,c)]
[('a', 0.1), ('b', 0.2)]
從上面代碼可以看出,如果 zip() 函數(shù)壓縮的兩個(gè)列表長(zhǎng)度不相等,那么 zip() 函數(shù)將以長(zhǎng)度更短的列表為準(zhǔn)。
zip() 函數(shù)不僅可以壓縮兩個(gè)列表,也可以壓縮多個(gè)列表。比如下面試驗(yàn)同時(shí)壓縮 3 個(gè)列表:
>>> [x for x in zip(a, b, c)]
[('a', 1, 0.1), ('b', 2, 0.2)]
從上面代碼可以看出,如果使用 zip() 函數(shù)壓縮 N 個(gè)列表,那么 zip() 函數(shù)返回的可迭代對(duì)象的元素就是長(zhǎng)度為 N 的元組。
下面代碼示范了使用 zip() 函數(shù)來(lái)實(shí)現(xiàn)并行遍歷的效果:
books = ['瘋狂Kotlin講義', '瘋狂Swift講義', '瘋狂Python講義']
prices = [79, 69, 89]
# 使用zip()函數(shù)壓縮兩個(gè)列表,從而實(shí)現(xiàn)并行遍歷
for book, price in zip(books, prices):
print("%s的價(jià)格是: %5.2f" % (book, price)) 標(biāo)題名稱:創(chuàng)新互聯(lián)Python教程:Pythonzip函數(shù)及用法
文章轉(zhuǎn)載:http://www.5511xx.com/article/dhsjggi.html


咨詢
建站咨詢
