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 相关文章推荐
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
python获取本地计算机名字的方法
Apr 29 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
python字典多键值及重复键值的使用方法(详解)
Oct 31 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
Python制作exe文件简单流程
Jan 24 Python
PyQt5 多窗口连接实例
Jun 19 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
Pandas读取csv时如何设置列名
Jun 02 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 读取和修改大文件的某行内容的代码
2009/10/30 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
python日志模块logbook使用方法
2019/09/19 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
python 爬取小说并下载的示例
2020/12/07 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
HTML5 canvas基本绘图之文字渲染
2016/06/27 HTML / CSS
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
美术教学感言
2014/02/22 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
法制宣传教育方案
2014/05/09 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
锅炉工岗位职责
2015/02/13 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
Python学习之异常中的finally使用详解
2022/03/16 Python