这里有新鲜出炉的 Python 教程, 程序狗速度看过来!
Python 编程语言
Python 是一种面向对象, 解释型计算机程序设计语言, 由 Guido van Rossum 于 1989 年底发明, 第一个公开发行版发行于 1991 年. Python 语法简洁而清晰, 具有丰富和强大的类库. 它常被昵称为胶水语言, 它能够把用其他语言制作的各种模块 (尤其是 C/C++) 很轻松地联结在一起.
这篇文章主要介绍了 Python enumerate 索引迭代代码解析, 具有一定借鉴价值, 需要的朋友可以参考下
本文研究的主要是 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 索引迭代代码解析的全部内容, 希望对大家有所帮助. 感兴趣的朋友可以继续参阅本站其他相关专题, 如有不足之处, 欢迎留言指出. 感谢朋友们对本站的支持!
来源: http://www.phperz.com/article/18/0201/362979.html