欢迎访问宙启技术站
智能推送

Python中的enumerate函数:快速获取列表元素索引及其值

发布时间:2023-06-20 06:58:07

Python中的enumerate()函数是一个内置函数,用于获取列表或其他可迭代对象的每个元素的索引和值。

它为列表元素提供了易于访问的索引,避免了手动跟踪元素索引的麻烦。此函数还是循环中的有用工具,可以帮助我们迭代更快。

enumerate()函数的使用方法非常简单:只需将可迭代对象作为其参数,并迭代返回的元组中的元素即可。

例如,我们有一个列表,我们想获取它的每个元素的索引和值:

fruits = ['apple', 'banana', 'orange']
for i, fruit in enumerate(fruits):
    print(i, fruit)

输出结果为:

0 apple
1 banana
2 orange

在上面的示例中,我们使用了for循环来迭代fruits列表的每个元素,并将它们的索引i和值fruit作为元组元素返回。逗号将i和fruit分开,同时使用print()函数输出。

我们还可以使用列表综合语法来创建包含元素索引的新列表,而不必按照惯例使用for循环和追加语句。在这种情况下,我们可以简单地在中括号中包含enumerate()函数的结果:

fruits = ['apple', 'banana', 'orange']
indexed_fruits = [(i, fruit) for i, fruit in enumerate(fruits)]
print(indexed_fruits)

输出结果为:

[(0, 'apple'), (1, 'banana'), (2, 'orange')]

在上面的示例中,我们使用了列表综合语法来创建一个新的列表indexed_fruits,其中元素是元组,元组包含的是每个元素的索引和值。

除了列表,我们还可以使用其他可迭代对象,例如字符串、元组和字典。对于字符串和元组,元素将是字符串或元组的每个字符或元素,索引将是它们在字符串或元组中的位置。

string = 'Hello, World!'
for i, char in enumerate(string):
    print(i, char)

输出结果为:

0 H
1 e
2 l
3 l
4 o
5 ,
6  
7 W
8 o
9 r
10 l
11 d
12 !

在上面的示例中,我们使用了相同的方法,但这里我们使用了字符串而不是列表。它提供了字符串中的每个字符的索引和值。

对于字典,当我们使用enumerate()函数时,它将返回字典键/值对的元组。 索引将是字典中的键,值将是字典中的值。

scores = {'Alice': 75, 'Bob': 80, 'Charlie': 95}
for i, (name, score) in enumerate(scores.items()):
    print(i, name, score)

输出结果为:

0 Alice 75
1 Bob 80
2 Charlie 95

在上面的示例中,我们使用了字典而不是列表,并使用了items()方法将其转换为元组列表。 然后,我们使用enumerate()函数来获取每个名字和分数的索引和值。

在以上的用例中,我们了解了如何使用enumerate()函数来获取列表、字符串、字典等对象的索引和值。我们可以使用这个函数在访问列表元素时更加快捷和方便。