python中zip()函數的用法


  zip函數的原型為:zip([iterable, …])

  參數iterable為可迭代的對象,並且可以有多個參數。該函數返回一個以元組為元素的列表,其中第 i 個元組包含每個參數序列的第 i 個元素。返回的列表長度被截斷為最短的參數序列的長度。只有一個序列參數時,它返回一個1元組的列表。沒有參數時,它返回一個空的列表。

  

當沒有參數的時候

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)

注意這里輸出的每個都是元組,而不一定是原來的類型,但是值不會發生變化(除非原來的參數列表長度不一樣,看下面的代碼)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM