python中zip()函數(shù)遍歷多個(gè)列表方法
在對列表的元素進(jìn)行找尋時(shí),會頻繁的說到遍歷的理念。對于復(fù)雜的遍歷要求,如多個(gè)列表中查找就顯然不適合用for循環(huán)。本篇所要帶來的是zip() 函數(shù)的方法,能夠?qū)Χ鄠€(gè)迭代器進(jìn)行遍歷。下面我們就python中zip的說明、語法、使用注意點(diǎn)進(jìn)行講解,然后帶來遍歷多個(gè)列表的實(shí)例。
1、說明
zip() 函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。(注:在python3中返回的是zip對象)
2、語法
zip(iterable, ...) # 其中 iterable,... 表示多個(gè)列表、元組、字典、集合、字符串,甚至還可以為 range() 區(qū)間。
3、注意
(1)zip 可以平行地遍歷多個(gè)迭代器,如果可迭代對象的長度不相同將按短的序列為準(zhǔn)
(2)python3中zip相當(dāng)于生成器,遍歷過程中產(chǎn)生元組,python2會把元組生成好,一次性返回整份列表
4、實(shí)例
使用zip()函數(shù)一次處理兩個(gè)或多個(gè)列表中的元素:
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()函數(shù)實(shí)例擴(kuò)展:
兩個(gè)或者多個(gè)list
a=[1,2,3] b=[4,5,6] c=[7,8,9,10] #兩個(gè)list去zip() zip(a,b) #三個(gè)list去zip(),返回的對象的長度和最小的迭代器一致 zip(a,b,c) #用list()查看zip后的數(shù)據(jù) 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)) #兩個(gè)list迭代輸出 for i,j in zip(a,b): print(i,j)
如有兩個(gè)list,一個(gè)是一層,一個(gè)是嵌套,要組成一個(gè)dict
#將zip對象轉(zhuǎn)換成字典看看 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']} #如果一個(gè)是key值,一個(gè)內(nèi)層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)
到此這篇關(guān)于python中zip()函數(shù)遍歷多個(gè)列表方法的文章就介紹到這了,更多相關(guān)zip()函數(shù)如何在python中遍歷多個(gè)列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python中zip函數(shù)用法詳解(全)
- python內(nèi)置函數(shù)zip詳解
- python 內(nèi)置函數(shù)-range()+zip()+sorted()+map()+reduce()+filter()
- Python中zip函數(shù)如何使用
- python中的 zip函數(shù)詳解及用法舉例
- Python中zip()函數(shù)的簡單用法舉例
- python3中zip()函數(shù)使用詳解
- Python zip()函數(shù)用法實(shí)例分析
- 淺談Python中的zip()與*zip()函數(shù)詳解
- Python中zip()函數(shù)用法實(shí)例教程
- zip在python中的用法小結(jié)
相關(guān)文章
詳解Python中__new__和__init__的區(qū)別與聯(lián)系
在Python中,每個(gè)對象都有兩個(gè)特殊的方法:__new__和__init__,本文將詳細(xì)介紹這兩個(gè)方法的不同之處以及它們之間的聯(lián)系,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12Python實(shí)現(xiàn)語音轉(zhuǎn)文本的兩種方法
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)語音轉(zhuǎn)文本的兩種方法,Python提供了許多工具和庫來進(jìn)行這些任務(wù),本文通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Python利用Nagios增加微信報(bào)警通知的功能
Nagios是一款開源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等,本文給大家介紹Python利用Nagios增加微信報(bào)警通知的功能,需要的朋友參考下2016-02-02Python實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01pytorch 使用加載訓(xùn)練好的模型做inference
今天小編就為大家分享一篇pytorch 使用加載訓(xùn)練好的模型做inference,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02