結合實例來理解比較好,網上找了一下這個enumerate用法,自己也記錄一下加深印象
看一下相關鏈接:
鏈接1:http://www.cnblogs.com/danielStudy/p/6576040.html
鏈接2:http://blog.csdn.net/churximi/article/details/51648388
- enumerate函數說明:
- 函數原型:enumerate(sequence, [start=0]) #第二個參數為指定索引
- 功能:將可循環序列sequence以start開始分別列出序列數據和數據下標
- 即對一個可遍歷的數據對象(如列表、元組或字符串),enumerate會將該數據對象組合為一個索引序列,同時列出數據和數據下標
- 舉例說明:
- 存在一個sequence,對其使用enumerate將會得到如下結果:
- start sequence[0]
- start+1 sequence[1]
- start+2 sequence[2]......
- 存在一個sequence,對其使用enumerate將會得到如下結果:
- 具體例子:
1、第一個實例,打印輸出索引與value值
1 >>> product = [ 2 ... "Mac pro", 3 ... "iPhone", 4 ... "iWatch" 5 ... ] 6 >>> for index,item in enumerate(product): 7 … print(index,item) 8 >>> 9 10 得到以下結果 11 0 Mac pro 12 1 iPhone 13 2 iWatch
14 也可以使用enumerate函數的第二個參數:
15 >>> for index,item in enumerate(product,1)://第二個參數表示下標開始的位置,取值為1即表示下標從1開始計算,默認從0開始 16 … print(index,item) 17 >>>
18 得到以下結果
19 1 Mac pro
20 2 iPhone
21 3 iWatch
2、第二個實例
#列表 product = ["Mac pro", "iPhone", "iWatch"] for index, item in enumerate(product): print(index, item) #列表 list = [1, 2, 3, 4, 5, 6] list[::-1] for index, item in enumerate(list): print(index, item) #字符串 for i, j in enumerate('abcde'): print(i, j) #數組 for i, j in enumerate(('a', 'b', 'c', 'd', 'e')): print(i, j) #字典 for i, j in enumerate({'a':1, 'b':2}): print(i, j)
3、第三個實例:統計文件的行數
#如果要統計文件的行數,可以這樣寫: count = len(open(filepath, 'r').readlines()) #這種方法簡單,但是可能比較慢,當文件比較大時甚至不能工作。 #可以利用enumerate(): count = 0 for index, line in enumerate(open(filepath,'r')): count += 1

