enumerate
是 Python 的内置函数,用于在遍历列表(list)、元组(tuple)或其他可迭代对象时,同时获取到每个元素的索引和值。
以下是 enumerate
的基本用法和详细说明:
基本用法
for index, value in enumerate(iterable):# 使用 index 和 value 做一些操作
这里的 iterable
是一个可迭代对象,比如列表、元组、字符串或字典等。
例子
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):print(f"第 {index} 个水果是:{fruit}")
输出:
第 0 个水果是:apple
第 1 个水果是:banana
第 2 个水果是:cherry
详细说明
- 默认索引:如果不指定,
enumerate
会从 0 开始为元素生成索引。 - 自定义起始索引:可以通过传递一个可选的
start
参数来自定义起始索引。
输出:for index, fruit in enumerate(fruits, start=1):print(f"第 {index} 个水果是:{fruit}")
第 1 个水果是:apple 第 2 个水果是:banana 第 3 个水果是:cherry
- 返回类型:
enumerate
返回的是一个枚举对象,它是一个迭代器,生成由索引和值组成的元组。
输出:list(enumerate(fruits))
[(0, 'apple'), (1, 'banana'), (2, 'cherry')]
- 在字典上的使用:当在字典上使用
enumerate
时,默认情况下它会遍历字典的键。
输出:fruit_colors = {'apple': 'red', 'banana': 'yellow', 'cherry': 'red'} for index, key in enumerate(fruit_colors):print(f"第 {index} 个键是:{key}")
如果你想同时获取键和值,可以使用第 0 个键是:apple 第 1 个键是:banana 第 2 个键是:cherry
items()
方法。for index, (key, value) in enumerate(fruit_colors.items()):print(f"第 {index} 个键值对是:{key} - {value}")
使用场景
- 当你需要同时获取元素及其位置时。
- 在需要对序列中的元素进行编号时。
enumerate
是一个简单但功能强大的工具,常用于循环中,特别是在需要元素索引时。