python enumerate函數(shù)的使用方法總結(jié)
enumerate函數(shù)用于遍歷序列中的元素以及它們的下標。
enumerate函數(shù)說明:
enumerate()是python的內(nèi)置函數(shù)
enumerate在字典上是枚舉、列舉的意思
函數(shù)原型:enumerate(sequence, [start=0])
功能:將可循環(huán)序列sequence以start開始分別列出序列數(shù)據(jù)和數(shù)據(jù)下標
即對一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串),enumerate會將該數(shù)據(jù)對象組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標。
舉例說明:
存在一個sequence,對其使用enumerate將會得到如下結(jié)果:
start sequence[0] start+1 sequence[1] start+2 sequence[2]......
適用版本:
- Python2.3+
- Python2.x
注意:在python2.6以后新增了start參數(shù)
英文解釋:
Return an enumerate object. sequence must be a sequence, an iterator, or some other object which supports iteration. The next() method of the iterator returned by enumerate() returns a tuple containing a count (from start which defaults to 0) and the values obtained from iterating over sequence。
代碼實例:
enumerate參數(shù)為可遍歷的變量,如 字符串,列表等; 返回值為enumerate類。
import string s = string.ascii_lowercase e = enumerate(s) print s print list(e)
輸出為:
abcdefghij [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j')]
在同時需要index和value值的時候可以使用 enumerate。
該實例中,line 是個 string 包含 0 和 1,要把1都找出來:
def xread_line(line): return((idx,int(val)) for idx, val in enumerate(line) if val != '0') print read_line('0001110101') print list(xread_line('0001110101'))
如果對一個列表,既要遍歷索引又要遍歷元素時,首先可以這樣寫:
list1 = ["這", "是", "一個", "測試"] for i in range (len(list1)): print i ,list1[i]
上述方法有些累贅,利用enumerate()會更加直接和優(yōu)美:
list1 = ["這", "是", "一個", "測試"] for index, item in enumerate(list1): print index, item >>> 0 這 1 是 2 一個 3 測試
enumerate還可以接收第二個參數(shù),用于指定索引起始值,如:
list1 = ["這", "是", "一個", "測試"] for index, item in enumerate(list1, 1): print index, item >>> 1 這 2 是 3 一個 4 測試
補充
如果要統(tǒng)計文件的行數(shù),可以這樣寫:
count = len(open(filepath, 'r').readlines())
這種方法簡單,但是可能比較慢,當文件比較大時甚至不能工作。
可以利用enumerate():
count = 0 for index, line in enumerate(open(filepath,'r')): count += 1
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)簡單的超市商品銷售管理系統(tǒng)
這篇文章主要為大家詳細介紹了python實現(xiàn)超市商品銷售管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11python實現(xiàn)樹的深度優(yōu)先遍歷與廣度優(yōu)先遍歷詳解
這篇文章主要介紹了python實現(xiàn)樹的深度優(yōu)先遍歷與廣度優(yōu)先遍歷,詳細分析了樹的深度優(yōu)先遍歷與廣度優(yōu)先遍歷原理及Python相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2019-10-10利用Django模版生成樹狀結(jié)構(gòu)實例代碼
這篇文章主要給大家介紹了關(guān)于利用Django模版生成樹狀結(jié)構(gòu)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Django具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-05-05

Python2實現(xiàn)的LED大數(shù)字顯示效果示例

Python中的Socket 與 ScoketServer 通信及遇到問題解決方法

Tensorflow2.1實現(xiàn)Fashion圖像分類示例詳解