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获取远程文件大小的函数代码分享
May 13 Python
Python实现的概率分布运算操作示例
Aug 14 Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 Python
python实践项目之监控当前联网状态详情
May 23 Python
pandas如何处理缺失值
Jul 31 Python
Django ORM 查询管理器源码解析
Aug 05 Python
给大家整理了19个pythonic的编程习惯(小结)
Sep 25 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
Python延迟绑定问题原理及解决方案
Aug 04 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
jQuery中调用WebService方法小结
2011/03/28 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
PHP获取当前页面完整URL的方法
2016/12/02 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
详解C++编程中一元运算符的重载
2016/01/19 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
python各层级目录下import方法代码实例
2020/01/20 Python
小学国庆节活动方案
2014/02/11 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
2014年教师业务学习材料
2014/05/12 职场文书
员工2014年度工作总结
2014/12/09 职场文书
婚庆答谢词
2015/01/04 职场文书
费用申请报告范文
2015/05/15 职场文书
干部考核工作总结2015
2015/07/24 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android