描述:

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. 常用SQL语句写法(一)

    <resultMap id="userResult" type="com.cloudwalk.shark.model.User"> <id p ...

  2. JAVASCRIPT一维数转化为二维数组

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  3. Ubuntu下安装webstorm

    需要下载 WebStorm和 JDK # tar xvf WebStorm-10.0.1.tar.gz # tar xvf jdk-8u20-linux-x64.tar.gz 配置 /etc/prof ...

  4. Codeforces Round #547 (Div. 3) A.Game 23

    链接:https://codeforces.com/contest/1141/problem/A 题意: 给n和m,有两种操作:将n×2 或 n×3,求最少的乘法次数由n得到m. 不能得到时为-1. ...

  5. python入门之装饰器

    入门原理: 一系列函数要做相同的修改,在这些函数执行之前做的操作,或者在执行之后做的操作都可以在一个装饰器(函数)里修改 作用: 在不改变原函数的情况下,对原函数的操作前或者操作后做些改变,这就是装饰 ...

  6. 删除cookie时遇到的坑

    曾经有个“导出中”的需求,我用iframe实现下载对话框和cookie轮询验证token去解决的,但是昨天又发现了一个新问题: 因为前台需要提示导出失败的详细信息,这个信息我是在token返回0的时候 ...

  7. G. Of Zorcs and Axes 二分 + 贪心 —— STL的用法

    http://codeforces.com/gym/101149/problem/G 一开始还以为要用二分图去做,但是复杂度也太高了,O(n * m)的话直接爆炸. 考虑贪心,考虑第i个东西优先选一个 ...

  8. Centos 7.5源码编译安装zabbix4.0报fatal error: mysql.h: No such file or directory

    系统环境:CentOS 7.5是最小化安装的 编译信息 编译选项: root@Server01 zabbix-]# ./configure --prefix=/usr/share/applicatio ...

  9. HTML <form> 标签的 enctype

    form的enctype有三种 application/x-www-form-urlencoded 在发送前编码所有字符(默认) multipart/form-data 不对字符编码. 在使用包含文件 ...

  10. Spark Mllib里如何将预测结果如0或1,转换为文字描述来显示预测结果输出(图文详解)

    不多说,直接上干货! 具体,见 Hadoop+Spark大数据巨量分析与机器学习整合开发实战的第13章 使用决策树二元分类算法来预测分类StumbleUpon数据集