Python中enumerate()函数编写更Pythonic的循环


Posted in Python onMarch 06, 2018

enumerate函数

enumerate是一个Python内置函数,一个功能强大的内置函数。其实功能强大不足以形容它, 但是很难用一个词来形容它的用途。

让我们来看看一个使用enumerate进行循环的例子

names = ['李四', '张三', '王二']
for index, name in enumerate(names):
  print(f'{index}: {value}')

下面是这个循环的结果

0: 李四
1: 张三
2: 王二

这通常是一个很有用的方式去循环,但很多初学者甚至中级开发人员都不知道这一点。通常来说,他们的代码会这样写(需要注意的是,这是一种不好的写法)

names = ['李四', '张三', '王二']
for i in range(len(names)):
  print(i, my_items[i])

另外一点是,我们可以指定循环的索引,例如

names = ['李四', '张三', '王二']
for index, name in enumerate(names, 1):
  print(f'{index}: {value}')

结果如下

1: 李四
2: 张三
3: 王二

关于enumerate的另一个重要的知识点是,他的内部实现使用的是迭代器,所以当需要循环的对象特别大的时候我们不用浪费许多资源去全部展开。

Python 相关文章推荐
Python下singleton模式的实现方法
Jul 16 Python
python批量生成本地ip地址的方法
Mar 23 Python
python 添加用户设置密码并发邮件给root用户
Jul 25 Python
python 数据清洗之数据合并、转换、过滤、排序
Feb 12 Python
python实现解数独程序代码
Apr 12 Python
python调用Delphi写的Dll代码示例
Dec 05 Python
基于Python实现的微信好友数据分析
Feb 26 Python
python如何让类支持比较运算
Mar 20 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
python 插入日期数据到Oracle实例
Mar 02 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 Python
python距离测量的方法
Mar 06 #Python
Python入门之后再看点什么好?
Mar 05 #Python
Python 装饰器实现DRY(不重复代码)原则
Mar 05 #Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 #Python
python入门教程 python入门神图一张
Mar 05 #Python
详解TensorFlow在windows上安装与简单示例
Mar 05 #Python
python 中if else 语句的作用及示例代码
Mar 05 #Python
You might like
php下目前为目最全的CURL中文说明
2010/08/01 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
用JQuery 实现的自定义对话框
2007/03/24 Javascript
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
javascript定时器完整实例
2015/02/10 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
JavaScript 异步调用
2017/10/25 Javascript
webpack打包js的方法
2018/03/12 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
Python 实现域名解析为ip的方法
2019/02/14 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
2015年重阳节活动总结
2015/03/24 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
工作后的感想
2015/08/07 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL