索引迭代
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,再迭代,就同时获得了索引和元素本身。

转载于:https://www.cnblogs.com/xiaoit/p/4047948.html

Python enumerate索引迭代相关推荐

  1. python 通过索引迭代列表_Python的索引迭代

    Python中,迭代永远是取出元素本身,而非元素的索引. 对于有序集合,元素确实是有索引的.有的时候,我们确实想在 for 循环中拿到索引,怎么办? 方法是使用 enumerate() 函数: > ...

  2. python 通过索引迭代列表_python – NumPy – 迭代2D列表和打印(行,列)索引

    使用NumPy和/或Pandas处理2D列表时遇到困难: >获取所有元素的唯一组合的总和,而无需再次从同一行中选择(下面的数组应该是81种组合). >打印组合中每个元素的行和列. 例如: ...

  3. python enumerate 行号 序号

    原文:http://blog.csdn.net/churximi/article/details/51648388 python enumerate用法总结 enumerate()说明 enumera ...

  4. python中循环迭代语句_python条件与循环-循环

    1 while语句 while用于实现循环语句,通过判断条件是否为真,来决定是否继续执行. 1.1 一般语法 语法如下: while expression: suite_to_repeat 1.2 计 ...

  5. python enumerate()函数

    enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. enumerate(sequence, [sta ...

  6. python 迭代详解_详解python中的迭代

    如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration). 在Python中,迭代是通过for ... in来完成的,而很多语 ...

  7. Python高级特性——迭代(Iteration)

    Python高级特性--迭代(Iteration) 1.给定一个集合list或者tuple,可以通过for -- in --的语法来实现循环遍历,这个循环我们就叫做迭代 迭代list: >> ...

  8. Python enumerate 函数 - Python零基础入门教程

    目录 一.Python enumerate 函数介绍 二.Python enumerate 函数使用 1.Python enumerate 函数案例 1 2.Python enumerate 函数案例 ...

  9. Python enumerate() 函数

    描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. Python 2.3. 以上版本可用,2. ...

最新文章

  1. Apriori算法通俗详解_fpgrowth_关联
  2. torch.randn torch.rand区别
  3. win32窗口机制之CreateWindow
  4. 自然语言处理综述_自然语言处理
  5. iSCSI存储设备的udev绑定 以及iscsi重启卡住解决方法
  6. 【计算机网络】Quiz集合
  7. Linux下删除mysql实例,linux下完全删除mysql
  8. mysql install and config
  9. WCF两个类或者项目通信交互。
  10. 遥感信息分析与应用期末复习题
  11. android录屏直播方案,安卓手机录屏直播软件怎么用?
  12. 微信推送封面尺寸_一篇公众号推文如何设置两张封面图?
  13. java8 update 91 有什么用_为什么java8还在被大量使用?
  14. FMI飞马网【线上直播】持续集成在京东研发的落地及应用
  15. 【C 语言】文件操作 ( getc 和 putc 函数 )
  16. android 自定义indicator,【Android】TabLayout 自定义指示器 Indicator 样式
  17. 楚留香手游服务器维护,楚留香手游3月1日更新全职业调整一览 6门派职业调整汇总...
  18. ctf解题--当眼花的时候,会显示两张图(隐写)
  19. 网闸虚拟服务器,tcp客户端和tcp服务器端 网闸
  20. 华为的操作系统即将发布?

热门文章

  1. 使用外置tomcat部署spring boot程序需添加servlet-api
  2. Python3 文件操作
  3. Python Django 惰性查询(懒加载)
  4. Python Django 打印执行过的查询语句
  5. openresty获取nginx body内容体
  6. java枚举类使用 == 还是equals来进行比较
  7. 卡尔曼滤波---实例讲解
  8. 张秋余---经典语录
  9. 船舶定位实时查询系统_真趣:IDC机房人员定位系统,位置实时监测,巡检路线智能规划...
  10. python链表翻转_Python数据结构之旋转链表