1、zip() 函數的簡介和文法
zip() 函數用于将可疊代的對象作為參數,将對象中對應的元素打包成一個個元組,然後傳回由這些元組組成的對象,這樣做的好處是節約了不少的記憶體。
我們可以使用 list() 轉換來輸出清單。
如果各個疊代器的元素個數不一緻,則傳回清單長度與最短的對象相同,利用 * 号操作符,可以将元組解壓為清單。
zip 文法:
zip([iterable, ...])
參數說明:
- iterabl -- 一個或多個疊代器;
傳回值
傳回一個對象。
2、zip()用法執行個體
lista = [1,2,3]
listb = [4,5,6]
listc = [4,5,7,8]
zipedAB = zip(lista,listb) # 傳回一個對象
ziped_ab = list(zipedAB) #list()轉換為清單
zipedAC = zip(lista,listc)
ziped_ac = list(zipedAC)
print("zipped_ab is :",ziped_ab) #執行結果為:zipped_ab is:[(1, 4), (2, 5), (3, 6)]
#元素個數與最短的清單一緻
print("zipped_ac is :",ziped_ac) #執行結果為:zipped_ac is: [(1, 4), (2, 5), (3, 7)]
a,b = zip(*zip(lista,listb))
a,c = zip(*zip(lista,listc)) #與zip 相反,zip(*)可了解為解壓,傳回二位矩陣
print(a,b) #執行結果為;(1, 2, 3) (4, 5, 6)
print(a,c) #執行結果為;(1, 2, 3) (4, 5, 7)