Python中enumerate用法详解

目录

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

Python中enumerate用法详解_第1张图片

>>> 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的使用: 

例如:已知s = [1,2,3,4,5,6],要求输出:
0,1
1,2
2,3
3,4
4,5
5,6

s = [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

你可能感兴趣的:(python,开发语言,enumerate)