亲宝软件园·资讯

展开

Python enumerate

木盏 人气:0

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

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

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

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

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

加载全部内容

相关教程
猜你喜欢
用户评论