Python enumerate()添加序号

  • Post category:Python

Python中,enumerate()函数用于将一个可遍历的数据对象(如列表、字符串)从指定的开始位置开始获取序号,同时也可以在序号后面加上对应的数值。具体来说,可以将enumerate()函数用于循环语句中,方便轻松地获取数据对象的索引、值以及对应的编号。

enumerate()函数的语法

enumerate()函数的语法格式为:

enumerate(sequence, start=0)

其中,参数sequence是指定序列或迭代器,可以是列表、元组、字符串、集合等;start是指定序列的个数,表示索引从几开始。默认为0,即从0开始。

使用方法

enumerate()函数的返回值是一个枚举对象,枚举对象是一个可以使用for循环迭代访问的元素对,其中每个元素对包含一个值和一个索引。枚举对象可以转换成元组,其中,第一个元素是当前索引、第二个元素是对应值。

使用enumerate()函数的基本方式如下:

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

输出结果为:

0 apple
1 banana
2 orange
3 pear

在上述例子中,i表示序号,fruit表示对应的值。在循环中遍历序列时,enumerate()函数会为序列中的每一项添加一个序号值,然后将枚举对象传递给循环语句中的变量,分别表示序号和对应的值。

在enumerate()函数中还可以设置起始索引,例如:

sequence = ['apple', 'banana', 'orange', 'pear']
for i, fruit in enumerate(sequence, start=1):
    print(i, fruit)

输出结果为:

1 apple
2 banana
3 orange
4 pear

在这个例子中,我们使用了start参数,将起始索引设置为1,使输出结果的序号从1开始。

序号与数值的组合使用

除了输出序号和值之外,有时候需要将序号与其他数值结合起来使用。举个例子,我们来计算一个列表中所有偶数的总和:

numbers = [44, 83, 12, 94, 73, 37, 79, 68, 91, 56]
total = 0
for i, num in enumerate(numbers):
    if num % 2 == 0:
        total += num
        print("第{}个偶数是{}".format(i+1,num))
print("偶数的总和为:", total)

输出结果为:

第1个偶数是44
第3个偶数是12
第4个偶数是94
第8个偶数是68
第10个偶数是56
偶数的总和为: 274

可以看到,在上述例子中,我们使用了enumerate()函数遍历了一个列表,统计了所有偶数的和,并输出了所有偶数的序号和值。

以下是另外一个列表的例子,例如:我们有一个购物车清单,需要显示出购物项目的编号、名称和价格:

shopping_list = [('apple', 3.5), ('banana', 4.0), ('orange', 2.5), ('pear', 3.0)]
for i, item in enumerate(shopping_list, start=1):
    print("{}. {} - ${}".format(i, item[0], item[1]))

输出结果为:

1. apple - $3.5
2. banana - $4.0
3. orange - $2.5
4. pear - $3.0

在这个例子中,我们使用shopping_list列表作为参数,获取了每一项的序号、名称和价格,并将结果输出为一个格式化的字符串。