溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在python中利用zip()函數遍歷多個列表

發布時間:2021-02-18 13:53:04 來源:億速云 閱讀:245 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關如何在python中利用zip()函數遍歷多個列表,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、說明

zip() 函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。(注:在python3中返回的是zip對象)

2、語法

zip(iterable, ...)

# 其中 iterable,... 表示多個列表、元組、字典、集合、字符串,甚至還可以為 range() 區間。

3、注意

(1)zip 可以平行地遍歷多個迭代器,如果可迭代對象的長度不相同將按短的序列為準

(2)python3中zip相當于生成器,遍歷過程中產生元組,python2會把元組生成好,一次性返回整份列表

4、實例

使用zip()函數一次處理兩個或多個列表中的元素:

alist = ['a1', 'a2', 'a3']
blist = ['1', '2', '3']
for a, b in zip(alist, blist):
  print a, b
# a1 1
# a2 2
# a3 3

python zip()函數實例擴展:

兩個或者多個list

a=[1,2,3]
b=[4,5,6]
c=[7,8,9,10] 

#兩個list去zip()
zip(a,b)

#三個list去zip(),返回的對象的長度和最小的迭代器一致
zip(a,b,c)

#用list()查看zip后的數據
list(zip(a,b)) #[(1, 4), (2, 5), (3, 6)]
list(zip(a,b,c)) #[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

#使用zip(*zip())解壓
a1,b1=zip(*zip(a,b))

#兩個list迭代輸出
for i,j in zip(a,b):
 print(i,j)

如有兩個list,一個是一層,一個是嵌套,要組成一個dict

#將zip對象轉換成字典看看
a=[1,2,3]
d=[['a','b','c'],['aa','bb','cc'],['aaa','bbb','ccc']]

dict(zip(a,d)) #{1: ['a', 'b', 'c'], 2: ['aa', 'bb', 'cc'], 3: ['aaa', 'bbb', 'ccc']}
#如果一個是key值,一個內層list就是一行value
[dict(zip(a,value)) for value in d] #[{1: 'a', 2: 'b', 3: 'c'},
 {1: 'aa', 2: 'bb', 3: 'cc'},
 {1: 'aaa', 2: 'bbb', 3: 'ccc'}]

#或者是 
l=[]
for value in d:
 dict={}
 for i in range(len(value)):
  dict[a[i]]=value[i]
 l.append(dict)

關于如何在python中利用zip()函數遍歷多個列表就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女