首頁常見問題正文

zip()函數(shù)的作用是什么?

更新時間:2023-02-23 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  zip()屬于拉鏈函數(shù),該函數(shù)在運算的時候,會以一個或多個序列(可迭代對象)作為參數(shù),返回一個元組的列表,與此同時把這些序列中并排的元素配對。zip()參數(shù)可以接受任何類型的序列,同時也可以有兩個以上的參數(shù);當(dāng)傳入?yún)?shù)的長度不同時,zip能自動以最短序列長度為準(zhǔn)進(jìn)行截取,獲得元組。最后返回由這些元組組成的對象,這樣做的好處是節(jié)約了不少的內(nèi)存。

  可以使用list()轉(zhuǎn)換來輸出列表。如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。

  zip方法在Python2和Python3中也是存在區(qū)別的:在Python2中,zip()返回的是一個列表,在Python3中,zip()返回的是一個迭代器。

  以下實例展示了zip的使用方法:

  >>>a=[1,2,3]

  >>>b=[4,5,6]

  >>>c=[4,5,6,7,8]

  >>>zipped=zip(a,b) # 返回一個對象

  >>>zipped

  >>>list(zipped) #list() 轉(zhuǎn)換為列表

  [(1,4),(2,5),(3,6)]

  >>>list(zip(a,c)) # 元素個數(shù)與最短的列表一致

  [(1,4),(2,5),(3,6)]

  >>>a1,a2=zip(*zip(a,b)) # 與zip相反,zip(*)可理解為解壓,返回二維矩陣式

  >>>list(a1)

  [1,2,3]

  >>>list(a2)

  [4,5,6]

  >>>


分享到:
在線咨詢 我要報名
和我們在線交談!