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

Python中的enumerate函数:用法、示例及注意事项

发布时间:2023-06-25 04:06:07

enumerate函数是Python内置函数之一,它可以返回一个可迭代对象的枚举对象,同时也可以指定开始的索引,返回的枚举对象包含了每个元素的索引和元素值。

使用方法:

enumerate(iterable, start=0)

参数:

- iterable: 需要枚举的可迭代对象,如列表、元组、集合、字符串、字典等。

- start: 索引起始值,默认为0,可以自行指定。

返回值:

枚举对象,包含两个值, 个为索引,第二个为元素值。

示例:

1. 使用enumerate函数枚举列表元素

    languages = ['Python', 'Java', 'C++', 'JavaScript']
    for index, language in enumerate(languages):
        print(f'{index}: {language}')
    

输出结果:

    0: Python
    1: Java
    2: C++
    3: JavaScript
    

2. 使用enumerate函数枚举字符串元素

    str = 'Hello, World!'
    for index, char in enumerate(str, 1):
        print(f'{index}: {char}')
    

输出结果:

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

注意事项:

1. 当使用enumerate枚举字典时,枚举对象返回的是字典的键,而不是值。

    dict = {'a': 1, 'b': 2, 'c': 3}
    for index, key in enumerate(dict):
        print(f'{index}: {key}')
    

输出结果:

    0: a
    1: b
    2: c
    

2. 当使用enumerate枚举可迭代对象时,要注意可迭代对象的长度问题,以确保枚举的元素不越界。

    languages = ['Python', 'Java', 'C++', 'JavaScript']
    for index, language in enumerate(languages[1:], 1):
        print(f'{index}: {language}')
    

输出结果:

    1: Java
    2: C++
    3: JavaScript
    

3. 如果需要枚举对象的元素不是单一类型的,可以使用元组、列表或字典等数据结构来存储元素。

    students = [('Tom', 18, 'male'), ('Lucy', 17, 'female'), ('John', 19, 'male')]
    for index, (name, age, gender) in enumerate(students, 1):
        print(f'{index}: name:{name}, age:{age}, gender:{gender}')
    

输出结果:

    1: name:Tom, age:18, gender:male
    2: name:Lucy, age:17, gender:female
    3: name:John, age:19, gender:male