zip函式的原型為:zip([iterable, …])
引數iterable為可迭代的物件,並且可以有多個引數。該函式返回乙個以元組為元素的列表,其中第 i 個元組包含每個引數序列的第 i 個元素。返回的列表長度被截斷為最短的引數序列的長度。只有乙個序列引數時,它返回乙個1元組的列表。沒有引數時,它返回乙個空的列表。
import numpy as np
a=[1,2,3,4,5]
b=(1,2,3,4,5)
c=np.arange(5)
d="zhang"
zz=zip(a,b,c,d)
print(zz)
輸出:[(1, 1, 0, 'z'), (2, 2, 1, 'h'), (3, 3, 2, 'a'), (4, 4, 3, 'n'), (5, 5, 4, 'g')]
當沒有引數的時候
import numpy as np
zz=zip()
print(zz)
輸出:
當只有乙個引數的時候
import numpy as np
a=[1,2,3]
zz=zip(a)
print
(zz)
輸出:[(1,), (2,), (3,)]
當多個引數長度不同的時候
import numpy as np
a=[1,2,3]
b=[1,2,3,4]
c=[1,2,3,4,5]
zz=zip(a,b,c)
print
(zz)
輸出:[(1, 1, 1), (2, 2, 2), (3, 3, 3)]
zip() 和 * 操作符一起操作可以用來 unzip 乙個列表,看下面的**:
import numpy as np
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
zz=zip(a,b,c)
print
(zz)
x,y,z=zip
(*zz)
print
(x)print
(y)print
(z)輸出:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)
注意這裡輸出的每個都是元組,而不一定是原來的型別,但是值不會發生變化(除非原來的引數列表長度不一樣,看下面的**)
import numpy as np
a=[1,2,3]
b=[4,5,6,7]
c=[8,9,10,11,12]
zz=zip(a,b,c)
print
(zz)
x,y,z=zip
(*zz)
print
(x)print
(y)print
(z)輸出:
[(1, 4, 8), (2, 5, 9), (3, 6, 10)]
(1, 2, 3)
(4, 5, 6)
(8, 9, 10)
unzip後的列表b和c的值都少了。
posted @
2017-06-18 10:45
neu_張康 閱讀(
...)
編輯收藏
python中zip 函式的用法
zip函式的原型為 zip iterable,引數iterable為可迭代的物件,並且可以有多個引數。該函式返回乙個以元組為元素的列表,其中第 i 個元組包含每個引數序列的第 i 個元素。返回的列表長度被截斷為最短的引數序列的長度。只有乙個序列引數時,它返回乙個1元組的列表。沒有引數時,它返回乙個空...
Python中zip 函式的用法
在自動化測試過程中,使用使用到python內建函式zip 記錄之 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的物件,這樣做的好處是節約了不少的記憶體。我們可以使用 list 轉換來輸出列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的...
python中zip 函式的用法
引數iterable為可迭代的物件,並且可以有多個引數。該函式返回乙個以元組為元素的列表,其中第 i 個元組包含每個引數序列的第 i 個元素。返回的列表長度被截斷為最短的引數序列的長度。只有乙個序列引數時,它返回乙個1元組的列表。沒有引數時,它返回乙個空的列表。當沒有引數的時候 import num...