相比於range,list等簡易單詞,enumerate僅憑外形都不太讓人願意用。事實上,enumerate還是很好用的。
enumerate()是python的內置函數、適用於python2.x和python3.x
enumerate在字典上是枚舉、列舉的意思
enumerate參數為可遍歷/可迭代的對象(如列表、字符串)
enumerate多用於在for循環中得到計數,利用它可以同時獲得索引和值,即需要index和value值的時候可以使用enumerate
enumerate()返回的是一個enumerate對象
python中最常用的數據結構就是list,處理list中每個元素,通常都用for循環搞定。
我們先看,加入了enumerate之後,list的變化:
多了一個索引,同時還能讀取到元素。這個特性有什麼應用呢?看一段代碼:
ls = ['a', 'b', 'c']# method 1for i in range(len(ls)): print(i, end=' ') print(ls[i])# method 2for s in ls: print(ls.index(s), end=' ') print(s)# method 3for i, s in enumerate(ls): print(i, end=' ') print(s)
一看方法3就能更簡便地訪問到索引i和對應的元素s。
而且,用enumerate會顯得代碼更加高級~
enumerate的使用:例如:已知lst = [1,2,3,4,5,6],要求輸出:
0,1
1,2
2,3
3,4
4,5
5,6
>>> lst = [1,2,3,4,5,6]>>> for index,value in enumerate(lst): print ('%s,%s' % (index,value))0,11,22,33,44,55,6
#指定索引從1開始>>> lst = [1,2,3,4,5,6]>>> for index,value in enumerate(lst,1):print ('%s,%s' % (index,value))1,12,23,34,45,56,6#指定索引從3開始>>> for index,value in enumerate(lst,3):print ('%s,%s' % (index,value))3,14,25,36,47,58,6
補充:如果要統計文件的行數,可以這樣寫:
count = len(open(filepath, 'r').readlines())
這種方法簡單,但是可能比較慢,當文件比較大時甚至不能工作。
可以利用enumerate():
count = 0for index, line in enumerate(open(filepath,'r')): count += 1
到此這篇關於Python中的枚舉函數enumerate()的具體用法的文章就介紹到這了,更多相關Python enumerate內容請搜索軟件開發網以前的文章或繼續浏覽下面的相關文章希望大家以後多多支持軟件開發網!