Python 中如何使用 enumerate() 函数来获取带有索引的列表元素?
发布时间:2023-05-27 12:06:21
在 Python 中,我们经常需要对列表进行遍历,并在遍历的同时获取列表元素的索引。使用 for 循环可以很容易地完成这一操作,例如:
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
print(i, fruits[i])
这段代码会输出以下内容:
0 apple 1 banana 2 cherry
这种方式虽然可行,但是比较繁琐,尤其是当列表较长时会显得很不方便。Python 中提供了一个非常便捷的函数——enumerate(),可以帮助我们快速地获取带有索引的列表元素。
enumerate() 函数将一个可迭代的对象(如列表、元组、字符串等)作为参数,生成一个序列,返回由每个元素和其对应索引组成的 tuple 对象。具体来说,对于一个列表,enumerate() 函数返回的是一个元素为 tuple 类型的新列表,其中 tuple 的 个元素是原列表中的元素,第二个元素是该元素在原列表中的索引。
下面是使用 enumerate() 函数遍历列表并获取带有索引的元素的代码:
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit)
这段代码同样会输出以下内容:
0 apple 1 banana 2 cherry
可以看出,使用 enumerate() 函数可以更为简洁方便地获取列表元素及其索引。实际上,在使用 enumerate() 函数时还可以指定一个可选参数 start,表示从哪个索引开始计数。例如:
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits, start=1):
print(index, fruit)
此时输出的内容如下:
1 apple 2 banana 3 cherry
需要注意的是,当使用 enumerate() 函数遍历字符串时,它返回的是字符而不是字符的 ASCII 码。以下是遍历字符串的示例代码:
string = "hello"
for index, char in enumerate(string):
print(index, char)
输出结果为:
0 h 1 e 2 l 3 l 4 o
总之,Python 中使用 enumerate() 函数可以非常方便地获取带有索引的列表或其他可迭代对象的元素,避免了繁琐的下标操作,提高了代码的清晰度和可读性。
