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

Python中如何使用enumerate函数遍历列表元素及其下标

发布时间:2023-06-18 10:50:33

Python中的enumerate函数可以将一个可迭代对象(如列表、字符串、元组等)的每个元素和其对应的下标组成一个元组,返回一个枚举对象。这样我们就可以在遍历一个序列时,同时访问元素和它们的下标。

enumerate函数用法:

enumerate(sequence, start=0)

- sequence:一个可迭代对象,如一个列表、元组、字符串等。

- start:下标起始位置,可选参数,默认为0。

下面是使用enumerate函数遍历列表元素及其下标的示例代码:

animals = ['dog', 'cat', 'bird', 'fish']
for index, animal in enumerate(animals, start=1):
    print(f'{index}. {animal}')

输出结果如下:

1. dog
2. cat
3. bird
4. fish

在上面的代码中,我们给enumerate函数传送了一个列表和一个可选的下标起始位置1,enumerate函数返回的是一个可迭代对象,包含了下标和列表中的元素,我们在for循环中使用两个变量去接收元素和下标,然后打印输出即可。

当start参数指定为0时,输出的结果就是从0开始的下标:

animals = ['dog', 'cat', 'bird', 'fish']
for index, animal in enumerate(animals):
    print(f'{index}. {animal}')

输出结果为:

0. dog
1. cat
2. bird
3. fish

除了使用for循环,我们也可以使用list函数将enumerate函数的迭代器转换为列表,然后再遍历列表进行访问。例如:

animals = ['dog', 'cat', 'bird', 'fish']
enum_list = list(enumerate(animals))
print(enum_list)

for index, animal in enum_list:
    print(f'{index}. {animal}')

输出结果为:

[(0, 'dog'), (1, 'cat'), (2, 'bird'), (3, 'fish')]
0. dog
1. cat
2. bird
3. fish

在以上代码中,我们使用list函数将enumerate函数返回的迭代器转换为了一个列表,然后使用for循环遍历列表的元素,获取下标和对应的元素。

需要注意的是,使用enumerate函数遍历序列时,尽量不要修改序列中的元素,否则可能会导致错误的结果。如果需要修改序列中的元素,推荐遍历列表的下标值进行元素访问和修改操作。