Python enumerate索引迭代代码解析


Posted in Python onJanuary 19, 2018

本文研究的主要是Python enumerate索引迭代的问题,具体介绍如下。

索引迭代

Python中,迭代永远是取出元素本身,而非元素的索引。

对于有序集合,元素确实是有索引的。有的时候,我们确实想在 for 循环中拿到索引,怎么办?

方法是使用 enumerate() 函数:

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> for index, name in enumerate(L):
... print index, '-', name
... 
0 - Adam
1 - Lisa
2 - Bart
3 - Paul

使用 enumerate() 函数,我们可以在for循环中同时绑定索引index和元素name。但是,这不是 enumerate() 的特殊语法。实际上,enumerate() 函数把:

['Adam', 'Lisa', 'Bart', 'Paul']

变成了类似:

[(0, 'Adam'), (1, 'Lisa'), (2, 'Bart'), (3, 'Paul')]

因此,迭代的每一个元素实际上是一个tuple:

for t in enumerate(L):
index = t[0]
name = t[1]
print index, '-', name

如果我们知道每个tuple元素都包含两个元素,for循环又可以进一步简写为:

for index, name in enumerate(L):
print index, '-', name

这样不但代码更简单,而且还少了两条赋值语句。

可见,索引迭代也不是真的按索引访问,而是由 enumerate() 函数自动把每个元素变成 (index, element) 这样的tuple,再迭代,就同时获得了索引和元素本身。

总结

以上就是本文关于Python enumerate索引迭代代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python内置函数之filter map reduce介绍
Nov 30 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
python字典快速保存于读取的方法
Mar 23 Python
Python Flask框架模板操作实例分析
May 03 Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 Python
Python中的self用法详解
Aug 06 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
python实现密码强度校验
Mar 18 Python
python代码如何注释
Jun 01 Python
selenium自动化测试入门实战
Dec 21 Python
5个很好的Python面试题问题答案及分析
Jan 19 #Python
Python3实现的画图及加载图片动画效果示例
Jan 19 #Python
Python实现将doc转化pdf格式文档的方法
Jan 19 #Python
python机器学习理论与实战(四)逻辑回归
Jan 19 #Python
python机器学习理论与实战(二)决策树
Jan 19 #Python
Python三种遍历文件目录的方法实例代码
Jan 19 #Python
python机器学习理论与实战(一)K近邻法
Jan 28 #Python
You might like
php列出一个目录下的所有文件的代码
2012/10/09 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
python实现按任意键继续执行程序
2016/12/30 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
python实现自动登录后台管理系统
2018/10/18 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
教师实习自我鉴定
2013/12/14 职场文书
党员创先争优活动总结
2014/05/04 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
博士导师推荐信
2015/03/25 职场文书
护士医德医风心得体会
2016/01/25 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python