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

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


咨詢
建站咨詢
