描述:

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. SpringBoot2.0 整合 RocketMQ ,实现请求异步处理

    一.RocketMQ 1.架构图片 2.角色分类 (1).Broker RocketMQ 的核心,接收 Producer 发过来的消息.处理 Consumer 的消费消息请求.消息的持 久化存储.服务 ...

  2. python操作rabbitmq实现消息过滤接收

    目标: 代码实现(direct_product.py) # __author__ = 'STEVEN' import pika,sys #开启socket connection = pika.Bloc ...

  3. windows下写的shell脚本到linux上不能运行

    win上是dos模式,需要改成unix模式 方法是: 在linux上vim 打开脚本,然后:set ff=unix

  4. 25 Groovy 相关资料

    Groovy Homepage Groovy API page Groovy documentation Groovy Goodness blog series from Hubert Klein I ...

  5. Windows如何利用输入法简单的打出 ‘↑’ ‘↓’ ‘↖’等箭头

    ‘↑’  shang ‘↓’ xia ‘←’ zuo ‘→’ you ‘↖’ zuoshang ‘↙’  zuoxia ‘↗’  youshang ‘↘’  youxia

  6. nodejs学习(3) express+socket.io

    //node var express=require('express'); var app = express(); var server = require('http').createServe ...

  7. P1816 忠诚 倍增

    链接:https://www.luogu.org/problem/show?pid=1816 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k ...

  8. Windows服务的新建,安装,卸载,调试以及调用!

    一.前言: 写这篇博文之前,我正顶着压力在尝试着调试我一无所知的Windows自建服务.历经千辛万苦,找了无数零散文档拼凑关于VisualStudio2015中怎样创建和调试服务程序!最后终于调试成功 ...

  9. iOS:让UIView覆盖导航栏

    当我们想做一个弹出式菜单时,想将导航栏也一起盖住不显示的话,可以用如下语句实现: UIView* myView = /* 你自定义的view */; UIWindow* currentWindow = ...

  10. java.lang.IllegalAccessException: Class XX can not access a member of class XXX with modifiers "private static"

    当前需求: 利用反射获取某一属性值运行结果:java.lang.IllegalAccessException: Class com.example.demo.test.Reflect can not ...