python使用 zip 同時(shí)迭代多個(gè)序列示例
本文實(shí)例講述了python使用 zip 同時(shí)迭代多個(gè)序列。分享給大家供大家參考,具體如下:
zip 可以平行地遍歷多個(gè)迭代器
python 3中zip相當(dāng)于生成器,遍歷過程中產(chǎn)生元祖,python2會(huì)把元祖生成好,一次性返回整份列表
zip(x,y,z)
會(huì)生成一個(gè)可返回元組 (x,y,z) 的迭代器
>>> x = [1, 2, 3, 4, 5] >>> y = ['a', 'b', 'c', 'd', 'e'] >>> z = ['a1', 'b2', 'c3', 'd4', 'e5'] >>> for i in zip(x,y,z): ... print(i) ... (1, 'a', 'a1') (2, 'b', 'b2') (3, 'c', 'c3') (4, 'd', 'd4') (5, 'e', 'e5')
遍歷長(zhǎng)度不一樣(只要耗盡一個(gè)就會(huì)結(jié)束,若想遍歷不等長(zhǎng)請(qǐng)使用itertools的zip_longest)
>>> x = [1, 2, 3, 4, 5, 6] >>> y = ['a', 'b', 'c', 'd', 'e'] >>> for i in zip(x,y): ... print(i) ... (1, 'a') (2, 'b') (3, 'c') (4, 'd') (5, 'e')
>>> from itertools import zip_longest >>> x = [1, 2, 3, 4, 5, 6] >>> y = ['a', 'b', 'c', 'd', 'e'] >>> for i in zip_longest(x,y): ... print(i) ... (1, 'a') (2, 'b') (3, 'c') (4, 'd') (5, 'e') (6, None)
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
pycharm 中mark directory as exclude的用法詳解
今天小編就為大家分享一篇pycharm 中mark directory as exclude的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-02-02詳解Python連接MySQL數(shù)據(jù)庫(kù)的多種方式
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫(kù)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04python opencv旋轉(zhuǎn)圖像(保持圖像不被裁減)
這篇文章主要為大家詳細(xì)介紹了python opencv旋轉(zhuǎn)圖像,保持圖像不被裁減,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07使用PyWeChatSpy自動(dòng)回復(fù)微信拍一拍功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了用PyWeChatSpy自動(dòng)回復(fù)微信拍一拍功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07