python enumerate()

本文介绍了Python中enumerate()函数,它可将字符串、列表等可迭代对象组合成索引+数据格式输出。该函数返回一个枚举对象,start参数默认从0开始,也可重新指定。还列举了该对象的一些方法,如__getattribute__、__iter__等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class enumerate(object)
 |  enumerate(iterable[, start]) -> iterator for index, value of iterable 将可迭代对象如字符串、列表、元组、字典、集合,组合成索引+数据格式输出。
 |  
 |  Return an enumerate object.  iterable must be another object that supports
 |  iteration.  The enumerate object yields pairs containing a count (from
 |  start, which defaults to zero) and a value yielded by the iterable argument.
 |  enumerate is useful for obtaining an indexed list:
 |      (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
 |  
 |  Methods defined here:
 |  
 |  __getattribute__(self, name, /)
 |      Return getattr(self, name).
 |  
 |  __iter__(self, /)
 |      Implement iter(self).
 |  
 |  __new__(*args, **kwargs) from builtins.type
 |      Create and return a new object.  See help(type) for accurate signature.
 |  
 |  __next__(self, /)
 |      Implement next(self).
 |  
 |  __reduce__(...)
 |      Return state information for pickling.

>>> 

字符串:

>>> s = 'python'
>>> for i, value in enumerate(s):
	print(i,value)

	
0 p
1 y
2 t
3 h
4 o
5 n
>>> 

start参数默认从0开始,可以根据需要重新指定,比如从1开始:

>>> s = 'python'
>>> for i, value in enumerate(s, 1):
	print(i,value)

	
1 p
2 y
3 t
4 h
5 o
6 n
>>> 

集合:

>>> st
{2, 3, 4, 5, 6, 7, 8}
>>> for i, value in enumerate(st):
	print(i,value)

	
0 2
1 3
2 4
3 5
4 6
5 7
6 8
>>> 
>>> 

字典:

>>> 
>>> dst = {'name':'xiaoming', 'age':12, 'sex':'male'}
>>> for i, value in enumerate(dst):
	print(i,value)

	
0 name
1 age
2 sex
>>> 
>>> for i, value in enumerate(dst.values()):
	print(i,value)

	
0 xiaoming
1 12
2 male
>>> 

 

### Python `enumerate` 函数详解 #### 功能描述 `enumerate()` 是 Python 的内置函数之一,用于将可迭代对象组合成索引序列,同时列出数据和数据下标[^1]。 #### 基本语法 ```python for index, value in enumerate(iterable, start=0): # do something with index and value ``` - 参数说明: - `iterable`: 需要遍历的对象(列表、元组等) - `start`: 下标的起始位置,默认为 0 #### 实际应用案例 ##### 示例一:基本用法 展示如何通过 `enumerate` 获取列表元素及其对应的索引: ```python fruits = ["apple", "banana", "cherry"] for idx, fruit in enumerate(fruits): print(f"Index {idx}: {fruit}") ``` 输出结果如下: ``` Index 0: apple Index 1: banana Index 2: cherry ``` ##### 示例二:指定起始编号 可以通过设置第二个参数来改变计数起点: ```python months = ["January", "February", "March"] for month_num, month_name in enumerate(months, start=1): print(f"{month_num}月是{month_name}") ``` 输出结果如下: ``` 1月是January 2月是February 3月是March ``` ##### 示例三:结合字符串操作 可以用来处理字符串中的字符并获取其位置: ```python text = "hello" char_positions = list(enumerate(text)) print(char_positions) ``` 输出结果是一个由元组组成的列表,其中每个元组包含两个元素——字符的位置以及该字符本身: ``` [(0, 'h'), (1, 'e'), (2, 'l'), (3, 'l'), (4, 'o')] ``` #### 使用场景建议 当需要在一个循环中访问集合内项目的实际值的同时还需要知道当前项的序号时,推荐使用 `enumerate` 来简化代码逻辑。这不仅提高了程序效率也增强了代码的可读性和维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值