标签搜索

让python像C#,java一样取下标,Python enumerate() 函数

Lan
Lan
2020-05-29 / 0 评论 / 495 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2020年05月29日,已超过505天没有更新,若内容或图片失效,请留言反馈。

今天,在某python交流群,看到这样一串代码image.png然后我看到了for循环,然后后面是enumerate,瞬间很多问号,这是个什么东西,百度会告诉我答案,然后就在菜鸟教程上面看到了image.png

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

Python 2.3. 以上版本可用,2.6 添加 start 参数。

好吧,不仔细看官方文档的反面教材+1,之前还一直傻乎乎的外面弄一个index,然后在循环里面index+=1,还一边吐槽,python怎么连个下标都要自己取。

image.png

以下内容转自菜鸟教程:Python enumerate() 函数

实例:

数据:

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

普通的for循环:

>>>i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
...     print i, seq[i]
...     i +=1
... 
0 one
1 two
2 three

for 循环使用 enumerate:

>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three


0

评论 (0)

取消