python3的enumerate

本文详细介绍了Python中enumerate()函数的使用方法,包括其语法、参数及返回值,并通过实例对比了普通for循环与使用enumerate()的区别,展示了如何更有效地进行序列遍历。
部署运行你感兴趣的模型镜像

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

语法

以下是 enumerate() 方法的语法:

enumerate(sequence, [start=0])

参数

  • sequence:一个序列、迭代器或其他支持迭代对象。
  • start:下标起始位置。

返回值

返回 enumerate(枚举) 对象。

实例

以下展示了使用 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

源码:

def enumerate(collection):
   #'Generates an indexed series:  (0,coll[0]), (1,coll[1]) ...'
   i = 0
   it = iter(collection)
   while 1:
      yield (i, it.next())
      i += 1

 通过迭代,每次把坐标和枚举值通过yield返回,直到迭代结束。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### Python `enumerate` 函数入门教程 #### 使用方法 `enumerate()` 是一个内置函数,允许在遍历序列(如列表、元组等)的同时访问元素及其对应的索引。这使得代码更加简洁易读。 语法如下: ```python enumerate(iterable, start=0) ``` - `iterable`: 可迭代对象,比如列表、元组或字符串。 - `start`: 索引起始位置,默认为 0[^1]。 #### 示例代码 下面是一些具体的例子来展示如何使用 `enumerate()`: ##### 示例 1: 遍历列表并打印索引和值 ```python fruits = ['apple', 'banana', 'cherry'] for index, fruit in enumerate(fruits): print(f'Index {index}: {fruit}') ``` 这段程序会输出每种水果的名字连同它的索引编号[^2]。 ##### 示例 2: 自定义起始索引 如果想要改变默认从零开始计数的方式,则可以通过设置第二个参数来自定义初始索引值: ```python months = ["January", "February", "March"] for month_index, month_name in enumerate(months, start=1): print(f'Month {month_index} is called "{month_name}"') ``` 这里将月份名称与它们各自的序号关联起来显示出来[^3]。 ##### 示例 3: 将结果转换成列表形式 有时可能需要把 `enumerate` 的返回值转存到一个新的列表里供后续处理: ```python letters = list('abcd') indexed_letters = list(enumerate(letters)) print(indexed_letters) # 输出 [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')] ``` 此操作可以方便地创建带有索引标记的数据集[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值