解釋:
字尾為zip的檔案肯定都見過吧?zip是打包壓縮好的乙個檔案,所以,zip()函式也簡單的理解為打包壓縮函式,將不同個數
相同型別的字段結合在一起。
官方定義為:zip()函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 * 號操作符,可以將元組解壓為列表。
看兩段**:
字串:
a = '字串zip(): [('1', '2'), ('1', '2'), ('1', '2'), ('1', '2')]1111
'b = '
22222
"字串zip():
",zip(a,b)
"字串解壓zip得到的是列表,裡面是元組:
",zip(*zip(a,b))
za,zb =zip(*zip(a,b))
"za is ,zb is
".format(za=za,zb=zb)
結果:
字串解壓zip得到的是列表,裡面是元組: [('1', '1', '1', '1'), ('2', '2', '2', '2')]
za is ('1', '1', '1', '1'),zb is ('2', '2', '2', '2')
列表:
la = [1,2,3,4]列表zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]lb = [1,2,3,4,5]
"列表zip():
",zip(la,lb)
"列表解壓zip得到的是列表,裡面是元組:
",zip(*zip(la,lb))
zla,zlb = zip(*zip(la,lb))
"zla is ,zlb is
".format(zla=zla,zlb=zlb)
執行結果:
列表解壓zip得到的是列表,裡面是元組: [(1, 2, 3, 4), (1, 2, 3, 4)]
zla is (1, 2, 3, 4),zlb is (1, 2, 3, 4)
元組:
ta = [1,2,3,4]tb = [1,2,3,4,5]
"元組zip():
",zip(ta,tb)
"元組解壓zip得到的是列表,裡面是元組:
",zip(*zip(ta,tb))
zta,ztb = zip(*zip(ta,tb))
"zta is ,ztb is
".format(zta=zta,ztb=ztb)
執行結果:
元組zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]
元組解壓zip得到的是列表,裡面是元組: [(1, 2, 3, 4), (1, 2, 3, 4)]
zta
is (1, 2, 3, 4),ztb is (1, 2, 3, 4)
遍歷:
la = [1,2,3,4]lb = [1,2,3,4,5]
for i,j in
zip(la,lb):
i,j執行結果:
1 12 2
3 34 4
總結:有以上可以看出,1.只要可以迭代的相同型別的可以壓縮成乙個元素是元組的列表。
2.解壓之後都是元素為元組的列表。
3.以長度最少的為標準。
Python zip函式的使用
zip 函式 zip函式的原型為 zip iterable,zip 是python的乙個內建函式,它接受一系列可迭代的物件作為引數,將物件中對應的元素打包成乙個個tuple 元組 然後返回由這些tuples組成的list 列表 若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同。也...
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函式介紹
1.示例1 x 1,2,3 y 4,5,6 z 7,8,9 xyz zip x,y,z print xyz 執行的結果是 1,4,7 2,5,8 3,6,9 從這個結果可以看出zip函式的基本運作方式。2.示例2 x 1,2,3 y 4,5,6,7 xy zip x,y print xy 執行的結果...