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的变化:

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

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

到此这篇关于Python中的枚举函数enumerate()的具体用法的文章就介绍到这了,更多相关Python enumerate内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python中enumerate的用法实例解析

    在python中enumerate的用法多用于在for循环中得到计数,本文即以实例形式向大家展现python中enumerate的用法.具体如下: enumerate参数为可遍历的变量,如 字符串,列表等: 返回值为enumerate类. 示例代码如下所示: import string s = string.ascii_lowercase e = enumerate(s) print s print list(e) 输出为: abcdefghij [(0, 'a'), (1, 'b'), (2,

  • Python range与enumerate函数区别解析

    在迭代中enumerate比range更能灵活,一般情况下尽量用erumerate,下面举例说明: 先来看range的使用: city_list = ['beijing', 'shanghai', 'tianjing', 'wuhan'] # 用range将元素打印出来 # 直接打印,不用range for city in city_list: print('this is %s' % city) # 用下标打印 for i in range(len(city_list)): city = ci

  • python中enumerate函数用法实例分析

    本文实例讲述了python中enumerate函数用法.分享给大家供大家参考.具体分析如下: 今日发现一个新函数 enumerate .一般情况下对一个列表或数组既要遍历索引又要遍历元素时,会这样写: for i in range (0,len(list)): print i ,list[i] 但是这种方法有些累赘,使用内置enumerrate函数会有更加直接,优美的做法,先看看enumerate的定义: def enumerate(collection): 'Generates an inde

  • Python enumerate遍历数组示例应用

    其他语言中,比如C#,我们通常遍历数组是的方法是: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->for (int i = 0; i < list.Length; i++){    //todo with list[i]}在Python中,我们习惯这样遍历: Code highlighting produced by Actipro Code

  • python enumerate内置函数用法总结

    这篇文章主要介绍了python enumerate内置函数用法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值 enumerate多用于在for循环中得到计数 例如对于一个seq,得到:

  • Python enumerate索引迭代代码解析

    本文研究的主要是Python enumerate索引迭代的问题,具体介绍如下. 索引迭代 Python中,迭代永远是取出元素本身,而非元素的索引. 对于有序集合,元素确实是有索引的.有的时候,我们确实想在 for 循环中拿到索引,怎么办? 方法是使用 enumerate() 函数: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] >>> for index, name in enumerate(L): ... print index,

  • python中使用enumerate函数遍历元素实例

    这个是python的一个内建函数,看书的时候发现了他,mark一下当我们既需要遍历索引同时需要遍历元素的时候,可以考虑使用enumerate函数,enumerate函数接受一个可遍历的对象,如列表.字符串 比如我们有一个["one","two","there"]的列表,我们需要在列表的每个元素前面加上他的编号 复制代码 代码如下: i = 0seq = ["one","two","three&qu

  • python中enumerate函数遍历元素用法分析

    本文实例讲述了python中enumerate函数遍历元素用法.分享给大家供大家参考,具体如下: enumerate函数用于遍历序列中的元素以及它们的下标 示例代码如下: i = 0 seq = ['one', 'two', 'three'] for element in seq: print i, seq[i] i += 1 #0 one #1 two #2 three print '============' seq = ['one', 'two', 'three'] for i, elem

  • Python enumerate函数功能与用法示例

    本文实例讲述了Python enumerate函数功能与用法.分享给大家供大家参考,具体如下: eunmerate在英文中是列举.枚举的意思,在python中eunmerate()是一个内置的函数,用于在一个可迭代或可遍历的对象(如列表.字符串.数组.字典)中,将对象组成一个一个序列和索引,可以同时获得索引和索引值. enumerate函数原型: enumerate(sequence, [start=0]) 功能:将可循环序列sequence以start开始分别列出序列数据和数据下标: 即对一个

  • Python range、enumerate和zip函数用法详解

    前言 range函数可创建一个整数列表. 如果需要知道当前元素在列表中的索引,推荐用enumerate代替range. zip函数用于同时遍历多个迭代器. 一.range 函数 range函数可创建一个整数列表,一般用在 for 循环中. 语法: range([start,] stop[, step]) 参数: start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0,5); stop: 计数到 stop 结束,但不包括 stop.例如:range(0

随机推荐