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

Python中如何使用enumerate()函数迭代列表或字符串时获取索引和值?

发布时间:2023-06-12 11:36:11

1. 介绍enumerate()函数

enumerate()函数是Python内置的函数之一,用于将一个可迭代的对象(如列表、字符串等)变成一个索引序列,同时可以返回每个索引位置的对应元素。该函数的作用是对一个列表或字符串进行编号(默认从0开始),一般用在for循环中。

2. enumerate()函数的语法格式

enumerate(iterable, start=0)

其中,iterable是要迭代的列表、字符串等可迭代对象,start是开始的索引(默认为0),可选参数。

3. 使用enumerate()函数迭代列表中的元素

(1) 迭代列表元素时,常规做法是通过for循环和range()函数实现:

lst = ['a', 'b', 'c', 'd']

for i in range(len(lst)):

    print(i, lst[i])

    

运行结果:

0 a

1 b

2 c

3 d

可以看到,在使用range()函数迭代列表时,需要使用索引位置来获取相应的元素值。而使用enumerate()函数,则可以直接获取索引和值,代码如下:

for i, value in enumerate(lst):

    print(i, value)

    

运行结果:

0 a

1 b

2 c

3 d

(2) 如果你想从某个指定的索引位置开始迭代,可以将start参数传递给enumerate()函数:

for i, value in enumerate(lst, start=1):

    print(i, value)

    

运行结果:

1 a

2 b

3 c

4 d

可以看到,在指定开始索引为1时,列表的索引序列从1开始。

(3) 有时候,我们需要在列表中获取元素值和对应的索引位置,可以先使用enumerate()函数获取每个元素的索引位置,然后再根据索引位置获取相应的元素值,代码如下:

for i, index in enumerate(lst):

    print("lst[{}] = {}".format(i, lst[i]))

    

运行结果:

lst[0] = a

lst[1] = b

lst[2] = c

lst[3] = d

4. 使用enumerate()函数迭代字符串中的元素

(1) 与列表类似,直接使用enumerate()函数进行迭代:

str = "hello"

for i, value in enumerate(str):

    print(i, value)

    

运行结果:

0 h

1 e

2 l

3 l

4 o

(2) 可以通过字符串的切片方法获取指定位置的字符:

for i, index in enumerate(str):

    print("str[{}] = {}".format(i, str[i]))

    

运行结果:

str[0] = h

str[1] = e

str[2] = l

str[3] = l

str[4] = o

5. 总结

enumerate()函数是Python中常用的内置函数之一,可以帮助我们更方便地获取列表和字符串的索引位置和元素值。在循环遍历时,使用该函数可以简化代码,提高代码的可读性和可维护性。