目录
1.简介
2.语法
3.参数
4.返回值
5.详解
6.实例
7.补充
1.简介
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
2.语法
以下是 enumerate() 方法的语法:
enumerate(sequence, [start=0])
3.参数
- sequence -- 一个序列、迭代器或其他支持迭代对象。
- start -- 下标起始位置的值。
4.返回值
返回 enumerate(枚举) 对象。
5.详解
enumerate()是python的内置函数、适用于python2.x和python3.x
enumerate在字典上是枚举、列举的意思
enumerate参数为可遍历/可迭代的对象(如列表、字符串)
enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate
enumerate()返回的是一个enumerate对象
6.实例
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
for 循环使用 enumerate
>>> seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three
s = [1, 2, 3, 4, 5]
e = enumerate(s)
print(e)
输出结果:
<enumerate object at 0x000001631F79A828>
enumerate的使用:
例如:已知s = [1,2,3,4,5,6],要求输出:
0,1
1,2
2,3
3,4
4,5
5,6s = [1, 2, 3, 4, 5]
e = enumerate(s)
for index, value in e:
print('%s, %s' % (index, value))
输出结果:
0, 1
1, 2
2, 3
3, 4
4, 5
s = [1, 2, 3, 4, 5]
# 从指定索引1开始
for index, value in enumerate(s, 1):
print('%s, %s' % (index, value))
输出结果:
1, 1
2, 2
3, 3
4, 4
5, 5
s = [1, 2, 3, 4, 5]
# 从指定索引3开始
for index, value in enumerate(s, 3):
print('%s, %s' % (index, value))
输出结果:
3, 1
4, 2
5, 3
6, 4
7, 5
7.补充
如果要统计文件的行数,可以这样写:
count = len(open(filepath, 'r').readlines())
这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。
可以利用enumerate():
count = 0
for index, line in enumerate(open(filepath,'r')):
count += 1