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之玩转字符串(2)
Sep 14 Python
Python实用日期时间处理方法汇总
May 09 Python
Python实现堆排序的方法详解
May 03 Python
python中OrderedDict的使用方法详解
May 05 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
Jan 09 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
django url到views参数传递的实例
Jul 19 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
浅析Python 责任链设计模式
Sep 11 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 Python
pandas抽取行列数据的几种方法
Dec 13 Python
Python学习开发之图形用户界面详解
Aug 23 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
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
Javascript获取当前时间函数和时间操作小结
2014/10/01 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
Python Requests安装与简单运用
2016/04/07 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
Python中字典的浅拷贝与深拷贝用法实例分析
2018/01/02 Python
Python生成器以及应用实例解析
2018/02/08 Python
Python class的继承方法代码实例
2020/02/14 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
2014年毕业演讲稿范文
2014/05/13 职场文书
公关活动策划方案
2014/05/25 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
体操比赛口号
2014/06/10 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
世界红十字日活动总结
2015/02/10 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
Mongodb 迁移数据块的流程介绍分析
2022/04/18 MongoDB
SpringBoot详解执行过程
2022/07/15 Java/Android