enumerate()是python的內置函數
enumerate在字典上是枚舉、列舉的意思
對於壹個可叠代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成壹個索引序列,利用它可以同時獲得索引和值
enumerate多用於在for循環中得到計數
例如對於壹個seq,得到:
(0, seq[0]), (1, seq[1]), (2, seq[2])
1
1
enumerate()返回的是壹個enumerate對象,例如:
enumerate()使用
如果對壹個列表,既要遍歷索引又要遍歷元素時,首先可以這樣寫:
list1 = ["這", "是", "壹個", "測試"]
for i in range (len(list1)):
print i ,list1[i]123123
上述方法有些累贅,利用enumerate()會更加直接和優美:
list1 = ["這", "是", "壹個", "測試"]
for index, item in enumerate(list1):
print index, item
>>>
0 這
1 是
2 壹個
3 測試1234567812345678
enumerate還可以接收第二個參數,用於指定索引起始值,如:
list1 = ["這", "是", "壹個", "測試"]
for index, item in enumerate(list1, 1):
print index, item
>>>
1 這
2 是
3 壹個
4 測試1234567812345678
補充
如果要統計文件的行數,可以這樣寫:
count = len(open(filepath, 'r').readlines())11
這種方法簡單,但是可能比較慢,當文件比較大時甚至不能工作。
可以利用enumerate():
count = -1
for index, line in enumerate(open(filepath,'r')):
count += 1