当我们要对一个可迭代对象进行循环操作时,我们通常需要记录当前操作的元素的位置。使用 enumerate()
可以同时取出元素及其所在位置的索引值。本文将详细讲解 enumerate()
的用法。
标准格式
enumerate()
函数的标准格式如下:
enumerate(iterable, start=0)
其中,iterable
可以是任何可迭代对象,如列表、元组、字符串、集合等,start
可选,表示索引的起始值,默认为 0。
返回值为一个枚举对象,其中包含元素值和它们所在的位置索引值。
下面是一个实际的例子,演示基本的用法:
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
for i, season in enumerate(seasons):
print(i, season)
输出如下:
0 Spring
1 Summer
2 Fall
3 Winter
在这个例子中,i
表示当前循环的位置索引,season
则表示当前循环的元素。
添加起始位置
我们可以通过改变 start
参数的值来指定 enumerate()
函数中的分配起始位置,如下面的例子:
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
for i, season in enumerate(seasons, start=1):
print(i, season)
输出如下:
1 Spring
2 Summer
3 Fall
4 Winter
在这个例子中,start=1
表示从 1 开始递增位置索引。此时输出的结果将从 1 开始。
其他用途
除了上述的用法之外,enumerate()
还可用于快速更改列表元素,如下面的例子:
lst = ['apple', 'banana', 'cherry']
for i, fruit in enumerate(lst):
lst[i] = fruit.upper()
print(lst)
输出结果如下:
['APPLE', 'BANANA', 'CHERRY']
在这个例子中,使用 enumerate()
遍历列表,将列表中的元素改为大写字母。
总结
以上就是 enumerate()
函数的用法及两个示例,我们可以看到,使用 enumerate()
可以方便地获取并使用列表或其他可迭代对象中的元素和索引位置,同时也可以在循环中对它们进行其他操作。