黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python之詳解enumerate和zip

Python之詳解enumerate和zip

來源:千鋒教育
發布人:xqq
時間: 2023-11-07 12:18:21 1699330701

首先介紹的是enumerate函數。

在我們日常編程的過程當中,經常會遇到一個問題。

在C語言以及一些古老的語言當中是沒有迭代器這個概念的,所以我們要遍歷數組或者是容器的時候,往往只能通過下標。有了迭代器之后,我們遍歷的過程方便了很多,我們可以直接用一個變量去迭代一個容器當中的值。最簡單的例子就是數組的遍歷,比如我們要遍歷items這個數組。我們可以直接:

foriteminitems:

通過迭代器的方式我們可以很輕松地遍歷數組,而不再需要下標,也不需要計算數組的長度了。但是如果我們在循環體當中需要知道元素的下標該怎么辦?

難道我們真的只能在下標和迭代器當中選擇一個嗎,比如在循環體的外面添加一個變量來記錄下標?

idx=0

foriteminitems:

operation()

idx+=1

這樣可以解決問題,但是很麻煩,一點也不簡潔,用專業的話來說一點也不pythonic(符合Python標準的代碼)。為了追求pythonic,于是有了enumerate函數,來解決了我們又想直接迭代又需要知道元素下標的情形。

它的用法也很簡單,我們把需要迭代的對象或者迭代器傳入enumerate函數當中,它會為我們創建一個新的迭代器,同時返回下標以及迭代的內容。我們來看一個例子:

fori,iteminenumerate(items):

除此之外,enumerate還支持傳入參數。比如在某些場景當中,我們希望下標從1開始,而不再是0開始,我們可以額外多傳入一個參數實現這點:

fori,iteminenumerate(items,1):

循環是我們編程的時候必不可少的操作,也正因此,enumerate函數使用非常廣泛。但是有一點需要注意,如果我們迭代的是一個多元組數組,我們需要注意要將index和value區分開。舉個例子:

data=[(1,3),(2,1),(3,3)]

在不用enumerate的時候,我們有兩種迭代方式,這兩種都可以運行。

forx,yindata:

for(x,y)indata:

但是如果我們使用enumerate的話,由于引入了一個index,我們必須要做區分,否則會報錯,所以我們只有一種迭代方式:

fori,(x,y)inenumerate(data):

zip接下來要介紹的另一個函數同樣是方便我們迭代的,不過它針對的是另一個場景——多對象迭代。

它的應用場景非常簡單,就是我們想要同時迭代多份數據,比如用戶的名字和用戶的職業數據是分開的,我們希望同時遍歷一個用戶的職業和名字。如果不使用zip,我們可能只能放棄迭代器回到傳統的下標遍歷的模式了。這樣當然是可以的,不過有兩個小問題,第一個小問題當然是代碼的可讀性變差了,不夠pythonic,第二個問題是我們需要維護兩個容器長度不一樣的情況,會增加額外的代碼。而使用zip,可以同時解決以上兩個問題。

我們來看一個例子:

names=['xiaoming','xiaohua','xiaohei','xiaoli']

jobs=['coach','student','student','student','professor']

forname,jobinzip(names,jobs):

print(name,job)

最后輸出的結果是人名和職業的tuple:

xiaomingcoach

xiaohuastudent

xiaoheistudent

xiaolistudent

上面舉的例子當中,names和jobs的長度其實是不一致的,在使用了zip的情況下,會自動替我們按照其中較短的那個進行截斷。如果我們不希望截斷,我們也可以使用itertools下的zip_longest來代替zip:

fromitertoolsimportzip_longest

forname,jobinzip_longest(names,jobs):

這樣的話長度不夠的元素會以None來填充,zip_longest提供了一個參數fillvalue,可以填充成我們指定的值。

無論是zip還是zip_longest,都可以支持多迭代器的遍歷。比如:

names=['xiaoming','xiaohua','xiaohei','xiaoli']

jobs=['coach','student','student','student','professor']

hobbies=['footbal','tennis','badminton','basketbal']

forname,job,hobbyinzip(names,jobs,hobbies):

print(name,job,hobby)

zip除了方便我們迭代遍歷之外,另一個很大的用處是可以很方便地生成dict。比如剛才的例子當中,我們想生成一個名稱和職業的dict,一般的辦法當然是先定義一個dict,然后遍歷所有的key和value,來生成dict。然而使用zip,我們可以將這個操作簡化到一行代碼:

jobDict=dict(zip(names,jobs))

需要注意的是,我們調用zip返回的結果其實是一個迭代器,我們在轉化成dict的時候自動遍歷了迭代器當中的內容。比如我們如果直接打印出zip調用結果的話,就會發現屏幕上輸出的是一個迭代器的地址:

print(zip(names,jobs))

>>>

我們想要獲得它的內容,需要將它手動轉成list:

print(list(zip(names,jobs)))

>>>[('xiaoming','coach'),('xiaohua','student'),('xiaohei','student'),('xiaoli','student')]

無論是enumerate還是zip其實底層都是基于迭代器實現的,從原理上來說并沒有什么太深奧的內容,而且我們不使用它們也不影響我們寫代碼。但是Python之所以是Python,之所以很多人稱道它簡潔的語言和邏輯,離不開我們廣泛地使用這些簡化代碼邏輯的工具和方法。因此我們加以了解是非常有必要的,希望大家都能寫出pythonic的代碼,不僅寫代碼能力強,而且代碼本身也漂亮。

以上內容為大家介紹了Python之詳解enumerate和zip,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
深夜做爰性大片中文| 美女免费精品高清毛片在线视| 九九免费精品视频| a级黄色毛片免费播放视频 | 国产成人欧美一区二区三区的| 精品视频免费观看| 国产亚洲精品成人a在线| 亚洲 欧美 91| 欧美激情中文字幕一区二区| 国产视频一区二区在线观看| 999久久久免费精品国产牛牛| 国产激情视频在线观看| 日韩一级精品视频在线观看| 日韩在线观看免费| 日韩一级精品视频在线观看| 成人av在线播放| 久久国产影院| 日本伦理黄色大片在线观看网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品在线免费播放| 日本在线www| 亚洲精品久久玖玖玖玖| 国产福利免费视频| 青草国产在线| 国产一级强片在线观看| 麻豆网站在线免费观看| a级毛片免费全部播放| 精品视频一区二区三区| 成人免费一级毛片在线播放视频| 91麻豆国产福利精品| 午夜激情视频在线播放| 成人免费网站久久久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日本在线不卡视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99久久精品国产麻豆| 欧美18性精品| 亚洲精品中文一区不卡| 国产网站麻豆精品视频| 午夜家庭影院| 天天色成人| 成人免费高清视频| 午夜在线影院| 国产视频一区在线| 亚欧成人乱码一区二区| 欧美一级视| 国产a免费观看| 亚洲精品久久久中文字| 亚洲 激情| 欧美a免费| 国产成人精品一区二区视频| 精品国产香蕉伊思人在线又爽又黄| 国产一级强片在线观看| 国产高清视频免费| 四虎论坛| 成人免费一级毛片在线播放视频| 成人免费一级纶理片| 国产高清在线精品一区二区| 国产伦久视频免费观看视频| 黄色福利片| 国产成人精品综合在线| 可以在线看黄的网站| 国产高清在线精品一区二区 | 精品国产亚洲一区二区三区| 日韩一级精品视频在线观看| 欧美激情一区二区三区在线播放| 国产亚洲免费观看| 中文字幕Aⅴ资源网| 国产一区二区精品尤物| 天天色成人| 亚洲女人国产香蕉久久精品 | 韩国毛片免费大片| 国产一级生活片| 久久久成人影院| 美女免费精品高清毛片在线视| 国产一区二区高清视频| 国产激情一区二区三区| 日韩免费片| 欧美激情伊人| 欧美爱色| 人人干人人草| 成人a大片在线观看| 亚飞与亚基在线观看| 久草免费在线视频| 九九精品在线播放| a级黄色毛片免费播放视频 | 韩国三级香港三级日本三级| 九九九在线视频| 精品视频在线观看视频免费视频| 午夜在线观看视频免费 成人| 精品国产三级a| 国产高清视频免费观看| 韩国三级视频网站| 四虎影视精品永久免费网站| 深夜做爰性大片中文| 色综合久久天天综线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲爆爽| 国产成人精品一区二区视频| 国产高清在线精品一区二区 | 四虎影视久久| 美女免费精品视频在线观看| 国产欧美精品| 精品视频在线观看一区二区 | 午夜家庭影院| 国产福利免费观看| 欧美1卡一卡二卡三新区| 国产麻豆精品hdvideoss| 国产成人女人在线视频观看| 国产成人女人在线视频观看| 色综合久久天天综线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日本乱中文字幕系列| 黄色免费网站在线| 国产精品免费久久| 免费一级片在线观看| 日韩欧美一二三区| 日本特黄一级| 99色精品| 可以免费看污视频的网站| 国产a视频| 麻豆网站在线看| 国产精品自拍在线观看| 韩国三级香港三级日本三级| 成人免费网站久久久| 亚州视频一区二区| 尤物视频网站在线观看| 久草免费在线色站| 四虎影视久久久| 久久国产影视免费精品| 一a一级片| 成人a大片在线观看| 四虎影视精品永久免费网站| 欧美激情伊人| 天天做日日爱| 久久精品免视看国产成人2021| 久草免费资源| 国产成人精品综合久久久| 日韩在线观看视频黄| 久久福利影视| 在线观看成人网 | 韩国三级一区| 久久精品大片| 精品视频在线观看一区二区三区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 四虎影视精品永久免费网站| 久久国产精品只做精品| 色综合久久久久综合体桃花网| 日本在线www| 精品在线视频播放| 韩国妈妈的朋友在线播放| 日韩av成人| 国产a视频| 久久国产一区二区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品视频在线观看一区二区 | 999久久久免费精品国产牛牛| 99久久精品国产片| 久久精品免视看国产明星| 99久久网站| 久久99这里只有精品国产| 天堂网中文字幕| 亚州视频一区二区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 韩国妈妈的朋友在线播放| 一级女性全黄生活片免费| 欧美另类videosbestsex高清| 四虎精品在线观看| 欧美a级片视频| 国产伦久视频免费观看 视频 | 欧美激情一区二区三区中文字幕| 亚欧成人毛片一区二区三区四区| 91麻豆精品国产自产在线| 黄视频网站免费观看| 精品国产三级a∨在线观看| 欧美另类videosbestsex久久| 精品视频在线看 | 欧美激情一区二区三区视频| 精品视频在线看| 毛片高清| 久久久久久久网| 日韩在线观看视频免费| 精品国产香蕉在线播出| 香蕉视频三级| 精品视频一区二区三区免费| 日韩av片免费播放| 99久久网站| 成人免费观看网欧美片| 亚欧乱色一区二区三区| 免费毛片播放| 久草免费在线观看| 99久久精品国产片| 欧美激情一区二区三区视频| 九九久久99综合一区二区| 麻豆网站在线免费观看| 欧美国产日韩精品| 亚洲爆爽| 久久精品免视看国产成人2021| 精品久久久久久影院免费|