enumerate()說明
- enumerate()是python的內(nèi)置函數(shù)
- enumerate在字典上是枚舉喂饥、列舉的意思
- 對于一個可迭代的(iterable)/可遍歷的對象(如列表膏潮、字符串)惜姐,enumerate將其組成一個索引序列售睹,利用它可以同時獲得索引和值
- enumerate多用于在for循環(huán)中得到計數(shù)
實例
>>> goods = [['appple',70999],['banaba',2000],['orange',10000]]
>>> type(goods)
<type 'list'>
>>> for index,item in enumerate(goods):
... print index,item
...
0 ['appple', 70999]
1 ['banaba', 2000]
2 ['orange', 10000]
>>> for index,item in enumerate(goods):
... print index,item[0],item[1]
...
0 appple 70999
1 banaba 2000
2 orange 10000
>>>
## enumerate可以有第二個參數(shù)
>>> for index,item in enumerate(goods,2):
... print index,item[0],item[1]
...
2 appple 70999
3 banaba 2000
4 orange 10000
>>>
特殊說明
文件大小為83M矛双,用python計算文件行數(shù)
實際腳本
#!/usr/bin/env python
#-*- coding:utf8 -*-
file = '/usr/local/tomcat/logs/appLog/appLog.2016-11-08.log'
## 方式一程拭,對于文件很大的時候比較慢
#count = len(open(file,'r').readlines())
#print count
## 方式二建蹄,相對比較高效
count = 0
for index, line in enumerate(open(file,'r')):
count += 1
print count
方式一效果
root@pts/0 # time python /tmp/test.py
56733
real 0m1.973s
user 0m0.051s
sys 0m0.248s
方式二效果
root@pts/0 # time python /tmp/test.py
56733
real 0m0.076s
user 0m0.034s
sys 0m0.037s