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实现在线程里运行scrapy的方法
Apr 07 Python
在Python中使用Neo4j数据库的教程
Apr 16 Python
独特的python循环语句
Nov 20 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
python编写微信公众号首图思路详解
Dec 13 Python
Python 限定函数参数的类型及默认值方式
Dec 24 Python
tensorflow 限制显存大小的实现
Feb 03 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
Matplotlib 折线图plot()所有用法详解
Jul 28 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/02/27 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
点评js异步加载的4种方式
2015/12/22 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
js实现随机点名功能
2020/12/23 Javascript
Python编程之多态用法实例详解
2015/05/19 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python mysql断开重连的实现方法
2019/07/26 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
椰子猫砂:CatSpot
2018/08/27 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
JD Sports西班牙:英国领先的运动服装公司
2020/01/06 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
中文教师求职信
2014/02/22 职场文书
销售提升方案
2014/06/07 职场文书
产品调价通知函
2015/04/20 职场文书
学习党史心得体会2016
2016/01/23 职场文书
2019财务转正述职报告
2019/06/27 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书