网络编程
位置:首页>> 网络编程>> Python编程>> Python中的枚举函数enumerate()的具体用法

Python中的枚举函数enumerate()的具体用法

作者:木盏  发布时间:2022-06-03 13:33:31 

标签:Python,enumerate

相比于range,list等简易单词,enumerate仅凭外形都不太让人愿意用。事实上,enumerate还是很好用的。

  • enumerate()是python的内置函数、适用于python2.x和python3.x

  • enumerate在字典上是枚举、列举的意思

  • enumerate参数为可遍历/可迭代的对象(如列表、字符串)

  • enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,即需要index和value值的时候可以使用enumerate

  • enumerate()返回的是一个enumerate对象

python中最常用的数据结构就是list,处理list中每个元素,通常都用for循环搞定。

我们先看,加入了enumerate之后,list的变化:

Python中的枚举函数enumerate()的具体用法

多了一个索引,同时还能读取到元素。这个特性有什么应用呢?看一段代码:

ls = ['a', 'b', 'c']
# method 1
for i in range(len(ls)):
   print(i, end=' ')
   print(ls[i])

# method 2
for s in ls:
   print(ls.index(s), end=' ')
   print(s)

# method 3
for i, s in enumerate(ls):
   print(i, end=' ')
   print(s)

一看方法3就能更简便地访问到索引i和对应的元素s。

而且,用enumerate会显得代码更加高级~

enumerate的使用:

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

0,1
1,2
2,3
3,4
4,5
5,6

>>> lst = [1,2,3,4,5,6]
>>> for index,value in enumerate(lst):
? print ('%s,%s' % (index,value))
??
0,1
1,2
2,3
3,4
4,5
5,6
#指定索引从1开始
>>> lst = [1,2,3,4,5,6]
>>> for index,value in enumerate(lst,1):
print ('%s,%s' % (index,value))

1,1
2,2
3,3
4,4
5,5
6,6

#指定索引从3开始
>>> for index,value in enumerate(lst,3):
print ('%s,%s' % (index,value))

3,1
4,2
5,3
6,4
7,5
8,6

补充:

如果要统计文件的行数,可以这样写:

count = len(open(filepath, 'r').readlines())

这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。

可以利用enumerate():

count = 0
for index, line in enumerate(open(filepath,'r')):
  count += 1

来源:https://blog.csdn.net/leviopku/article/details/99947589

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com