Python enumerate()添加序号

  • Post category:Python

当我们需要对列表、元组、集合等数据类型中的元素进行迭代的时候,经常需要获取当前迭代到第几个元素。这时候,就可以使用Python内置的函数enumerate()来为每个元素添加序号,从而更方便地进行迭代操作。

1. 添加序号

使用enumerate()函数可以在迭代过程中为每个元素添加序号。enumerate()函数的语法格式如下:

enumerate(iterable, start=0)

其中,iterable表示需要添加序号的可迭代对象,start表示设置序号的起始值,默认为0。

下面是一个简单的示例,演示了如何使用enumerate()函数为列表中的元素添加序号:

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

输出结果为:

0 apple
1 banana
2 orange

2. 指定起始序号

我们可以使用start参数指定序号的起始值,来满足更多场景的需求。下面的代码演示了如何设置起始值为1:

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

输出结果为:

1 apple
2 banana
3 orange

3. 序号与元素类型不一致

enumerate()函数返回的是一个由元组组成的可迭代对象,其中每个元组都包含两个元素。第一个元素是元素在迭代过程中对应的序号,第二个元素是原来可迭代对象中对应的元素值。如果需要使用不同类型的序号,可以使用map()函数对序号进行类型转换。下面的代码演示了如何使用map()函数将序号转换成字符串类型:

fruits = ['apple', 'banana', 'orange']
for index, fruit in map(lambda i, x: (str(i), x), range(1, len(fruits) + 1), fruits):
    print(index, fruit)

输出结果为:

1 apple
2 banana
3 orange

这里使用了lambda函数和map()函数将整数类型的序号转换成字符串类型的序号,从而达到了不同类型的序号的效果。