python中enumerate()函数的用法
描述:
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()函数的用法的更多相关文章
- Python中int()函数的用法浅析
int()是Python的一个内部函数 Python系统帮助里面是这么说的 >>> help(int) Help on class int in module __builti ...
- Python中split()函数的用法及实际使用示例
Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...
- python中range()函数的用法
python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...
- Python中enumerate函数用法详解
enumerate函数用于遍历序列中的元素以及它们的下标,多用于在for循环中得到计数,enumerate参数为可遍历的变量,如 字符串,列表等 一般情况下对一个列表或数组既要遍历索引又要遍历元素时, ...
- python中enumerate 函数
enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')): print i,j 0 a 1 b ...
- python中strip函数的用法
python中往往使用剥除函数strip()来对用户的输入进行清理.strip函数的最一般形式为: str.strip('序列') 其中,序列是一段字符串,该函数表示从头或者从尾部开始进行扫描,如果扫 ...
- [转].Python中sorted函数的用法
[Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法对给定的List L进行排序,方法1.用List的成员函数sort进行排序,在本地进行排序,不返回副 ...
- python中open函数的用法
用法如下: name = open('errname.txt','w')name.readline()name.close() 1.看下第一行的代码 用来访问磁盘中存放的文件,可以进行读写等操作,例如 ...
- Python中sorted函数的用法(转)
[Python] sorted函数 我们需要对List.Dict进行排序,Python提供了两个方法 对给定的List L进行排序, 方法1.用List的成员函数sort进行排序,在本地进行排序,不返 ...
随机推荐
- Apollo应用相关JVM配置参数
-Dapollo_profile=github,auth-Ddev_meta=http://localhost:8080/-Dserver.port=8070-Dspring.datasource.u ...
- Java | 基础归纳 | 静态方法与实例方法的区别
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这种方 ...
- IOS蓝牙连接 初步简单封装使用
最近写一个蓝牙项目 初步实现一下蓝牙设备连接交互,后期继续完善.... 1.连接蓝牙相关操作 BlueToothManger.h // // BlueToothManger.h // SmartRob ...
- iOS蓝牙开发总结-4
蓝牙开发总结 只要熟悉蓝牙的流程,和蓝牙中每一个角色的作用,其实蓝牙通讯并没有想象中的难 1.蓝牙中心CBCentralManager:一般指得是iPhone手机 2.设备(外设)CBPeripher ...
- UWP Popup 弹出提示框
一:需求 做一个类似于安卓的弹出消息框,如图.当用户点击下载或者选择时,能够从底部弹出一个提示框,用于提示用户. 二:Popup 类 不需要我们自己额外去写一个弹窗类,微软自己有一个Popup 弹窗类 ...
- linux下php以fastcgi模式运行
关于PHP以fastcgi方式运行的文章,网络上较多,也许由于转载的原因,有些地方不甚明了,笔者亲自测试,整理成文,供大家参考. 1.linux系统 [root@localhost /]# cat / ...
- vue http请求 vue-resource使用方法
1.安装vue-resource扩展: npm install vue-resource 2.在main.js中引入 import http from 'vue-resource' 3.使用方法 // ...
- .NET Core 1.0 CentOS7 尝试(二、VSCode安装)
晚上继续摸索~~ 一.VSCode安装 下载VSCode,地址:https://code.visualstudio.com/Docs/?dv=linux64_rpm 直接双击安装或者使用rpm -i ...
- React Native 手工搭建环境 之iOS篇
常识 React native 开发服务器 在开发时,我们的框架是这样的:  当正式发布进入到生产环境时,开发服务器上所有的js文件将会被编译成包的形式,直接嵌入到客户端内.这时,已经不再需要开发服 ...
- MySQL存储过程(批量生成论坛中发帖、回帖、主题等数据)
USE 数据库名称1;DROP PROCEDURE IF EXISTS 数据库名称1.存储过程名称;delimiter $$CREATE PROCEDURE 数据库名称1.存储过程名称(in v_co ...