Python range、enumerate和zip函數(shù)用法詳解
前言
range函數(shù)可創(chuàng)建一個(gè)整數(shù)列表。
如果需要知道當(dāng)前元素在列表中的索引,推薦用enumerate代替range。
zip函數(shù)用于同時(shí)遍歷多個(gè)迭代器。
一、range 函數(shù)
range函數(shù)可創(chuàng)建一個(gè)整數(shù)列表,一般用在 for 循環(huán)中。
語法:
range([start,] stop[, step])
參數(shù):
start: 計(jì)數(shù)從 start 開始。默認(rèn)是從 0 開始。例如range(5)等價(jià)于range(0,5);
stop: 計(jì)數(shù)到 stop 結(jié)束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]沒有5
step:步長(zhǎng),默認(rèn)為1。例如:range(0,5) 等價(jià)于 range(0,5,1)
使用例子:
for i in range(5): print(i, end=' ') #輸出:0 1 2 3 4 print() for i in range(1,5): print(i, end=' ') #輸出:1 2 3 4 print() for i in range(0,5,2): print(i, end=' ') #輸出:0 2 4 print() for i in range(0,-5,-1): print(i, end=' ') #輸出:0 -1 -2 -3 -4 print() fruit_list = ['apple', 'banana','pear'] for i in range(len(fruit_list)): print(i, fruit_list[i]) '''輸出: apple banana pear '''
二、enumerate函數(shù)
enumerate函數(shù)用于將各種迭代器(如列表、元組或字符串)包裝為生成器,生成器每次產(chǎn)生一對(duì)輸出值,前者表示循環(huán)下標(biāo),后者表示從迭
代器中獲取到的下一個(gè)序列元素。一般用在 for 循環(huán)當(dāng)中。
需要知道當(dāng)前元素在列表中的索引,推薦用enumerate代替range,代碼便于簡(jiǎn)潔和易理解。
語法:
enumerate(sequence, [start=0])
參數(shù):
sequence: 一個(gè)序列、迭代器或其他支持迭代對(duì)象。
start:下標(biāo)起始位置。
使用例子:
fruit_list = ['apple', 'banana','pear'] for i,fruit in enumerate(fruit_list): print(i, fruit) '''輸出: apple banana pear ''' for i,fruit in enumerate(fruit_list, 1): print(i, fruit) '''輸出: apple banana pear '''
三、zip函數(shù)
zip函數(shù)可以把兩個(gè)或兩個(gè)以上的迭代器封裝為生成器,以便稍后求值。
生成器會(huì)從每個(gè)迭代器中獲取下一個(gè)值,然后把這些值匯聚成元組。
語法:
zip([iterable, ...])
參數(shù):
iterabl:一個(gè)或多個(gè)迭代器
使用例子:
index_list = [0, 1, 2, 3, 4] fruit_list = ['apple', 'banana','pear'] for index,fruit in zip(index_list,fruit_list): print(index,fruit) '''輸出: apple banana pear ''' d = dict(zip(index_list,fruit_list)) print(d) '''轉(zhuǎn)換為字典,輸出: {0: 'apple', 1: 'banana', 2: 'pear'} '''
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python批量修改圖片尺寸,并保存指定路徑的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python批量修改圖片尺寸,并保存指定路徑的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07Django 開發(fā)調(diào)試工具 Django-debug-toolbar使用詳解
這篇文章主要介紹了Django 開發(fā)調(diào)試工具 Django-debug-toolbar使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Python 實(shí)現(xiàn)Windows開機(jī)運(yùn)行某軟件的方法
今天小編就為大家分享一篇Python 實(shí)現(xiàn)Windows開機(jī)運(yùn)行某軟件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10對(duì)python當(dāng)中不在本路徑的py文件的引用詳解
今天小編就為大家分享一篇對(duì)python當(dāng)中不在本路徑的py文件的引用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python restful框架接口開發(fā)實(shí)現(xiàn)
這篇文章主要介紹了Python restful框架接口開發(fā)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04使用Protocol Buffers的C語言拓展提速Python程序的示例
這篇文章主要介紹了使用Protocol Buffers的C語言拓展提速Python程序的示例,使用C拓展Python是Python編程進(jìn)階中的重要技巧,需要的朋友可以參考下2015-04-04Python Opencv實(shí)戰(zhàn)之文字檢測(cè)OCR
這篇文章主要為大家詳細(xì)介紹了如何利用Python Opencv實(shí)現(xiàn)文字檢測(cè)OCR功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-08-08