描述:

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。其英文意为:枚举,列举.

函数说明:

  • 语法:

     enumerate(sequence, [start=0])
    参数:sequence -- 一个序列、迭代器或其他支持迭代对象。
    start -- 下标起始位置。
  • 举例说明:存在一个sequence,对其使用enumerate将会得到如下结果:
     start        sequence[0]
    start+1    sequence[1]
    start+2 sequence[2]......

具体例子:

实例1:

 >>> sessions = ['a', 'b', 'c', 'd']
>>> for i, element in enumerate(sessions):
... print(i,element)
...
0 a
1 b
2 c
3 d >>> sessions = ['a', 'b', 'c', 'd']
>>> for i, element in enumerate(sessions, 1): # 第二个参数表示下标开始的位置,取值为1表示下标从1开始计算.默认为0
... print(i,element)
...
1 a
2 b
3 c
4 d

实例2:

 #列表
>>> list = [1, 2, 3, 4, 5, 6]
>>> list[::-1]
[6, 5, 4, 3, 2, 1]
>>> for index, item in enumerate(list):
... print(index, item)
...
0 1
1 2
2 3
3 4
4 5
5 6 #字符串
>>> for i, j in enumerate('abcde'):
... print(i, j)
...
0 a
1 b
2 c
3 d
4 e #数组
>>> for i, j in enumerate(('a', 'b', 'c', 'd', 'e')):
... print(i, j)
...
0 a
1 b
2 c
3 d
4 e #字典
>>> for i, j in enumerate({'a':1, 'b':2}):
... print(i, j)
...
0 a
1 b #集合
>>> for i, j in enumerate({'d', 'b'}):
... print(i, j)
...
0 d
1 b

实例3:

 #如果要统计文件的行数,可以这样写:
count = len(open(filepath, 'r').readlines())
#这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。 #可以利用enumerate():
count = 0
for index, line in enumerate(open(filepath,'r')):
count += 1

实例4:sort_array[5, 3, 2, 8, 1, 4]==[1, 3, 2, 8, 5, 4]

def sort_array(arr):
odd_index = [ind for (ind, val) in enumerate(arr) if val%2==1] # 取出奇数的索引值,本例[0, 1, 4]
sort_odd = sorted([odd for odd in arr if odd%2==1]) # 将奇数序列排序[1, 3, 5]
j = 0
for i in odd_index: # i分别为0, 1, 4
arr[i] = sort_odd[j] # arr[0] = 1, arr[1] = 3, arr[4] = 5
j+=1
return arr if arr!=[] else[] # arr = [1, 3, 2, 8, 5, 4] arr = [5, 3, 2, 8, 1, 4]
new_arr = sort_array(arr)
print(new_arr) output:
[1, 3, 2, 8, 5, 4]

python中enumerate()函数的用法的更多相关文章

  1. Python中int()函数的用法浅析

      int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int)  Help on class int in module __builti ...

  2. Python中split()函数的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...

  3. python中range()函数的用法

    python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...

  4. Python中enumerate函数用法详解

    enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等 一般情况下对一个列表或数组既要遍历索引又要遍历元素时, ...

  5. python中enumerate 函数

    enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')):  print i,j 0 a 1 b ...

  6. python中strip函数的用法

    python中往往使用剥除函数strip()来对用户的输入进行清理.strip函数的最一般形式为: str.strip('序列') 其中,序列是一段字符串,该函数表示从头或者从尾部开始进行扫描,如果扫 ...

  7. [转].Python中sorted函数的用法

    [Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副 ...

  8. python中open函数的用法

    用法如下: name = open('errname.txt','w')name.readline()name.close() 1.看下第一行的代码 用来访问磁盘中存放的文件,可以进行读写等操作,例如 ...

  9. Python中sorted函数的用法(转)

    [Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序,在本地进行排序,不返 ...

随机推荐

  1. Mysql 开启 Slow 慢查询

    1:登录数据库查看是否已经开启了Slow慢查询: mysql> show variables like 'slow_query%'; 2:开启Mysql slow日志: 默认情况下slow_qu ...

  2. 测试 | Mock object

    实例: 一个简单的图书管理系统包括三个类: Book提供了书籍的定义 BookService提供了有关书籍借阅和归还的服务 BookMananger查找书籍并把对书籍状态的更改更新到数据库中 目前,B ...

  3. ShareSDK集成遇到问题

    解决方案

  4. git 版本控制(一)

    新建代码库repository 1.在当前目录新建一个git代码库 git init git init projectname 2.下载一个项目,如果已经有了远端的代码,则可以使用clone下载 gi ...

  5. centOS 部署服务器(三)

    今天一个新的项目终于能够重新安装mysql了,分享下步骤: 1.下载地址:http://dev.mysql.com/downloads/mysql/  (选择Linux - Generic版本的Lin ...

  6. JavaScript特点、优缺点及常用框架

    参考来源:   http://www.cnblogs.com/SanMaoSpace/archive/2013/06/14/3136774.html

  7. 记录一下在SpringBoot中实现简单的登录认证

    代码参考博客: https://blog.csdn.net/weixin_37891479/article/details/79527641 在做学校的课设的时候,发现了安全的问题,就不怀好意的用户有 ...

  8. 542 01 Matrix 01 矩阵

    给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离.两个相邻元素间的距离为 1 .示例 1:输入:0 0 00 1 00 0 0输出:0 0 00 1 00 0 0 示例 2:输入: ...

  9. gdb手册

    摘自:https://github.com/hellogcc/100-gdb-tips/blob/master/src/quit-gdb-silently.md. 我只是摘抄我平时没注意到的,或者我认 ...

  10. Ajax 提交表单【包括文件上传】

    利用js插件实现 <script src="@Url.Content("~/js/layer/jquery.form.min.js")"></ ...