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

Python中的enumerate()函数:从迭代中获得枚举对象

发布时间:2023-06-08 19:47:36

Python语言是一门易学易用的高级编程语言,同时也是开源的。它具有简单易读的语法、动态类型和解释型的特点。关于Python的语法,其中一个常见的函数就是enumerate()函数,enumerate()函数在实际编程中会经常用到。

1. enumerate()函数的定义

在Python中,enumerate函数是一个内置函数,它是在列表、元组、字符串、字典、集合等可迭代对象上生成一个可枚举对象的函数。枚举的对象是由索引和可迭代对象的元素组成。它帮助我们遍历可迭代对象时跟踪迭代次数。

2. enumerate()函数的语法

enumerate(iterable,start=0)

其中:

- iterable:必填参数,表示可迭代对象,可以是元组、列表、字符串、字典、集合等。

- start:可选参数,表示从何处开始枚举。默认从0开始。

3. enumerate()函数的实例

下面是一个简单的Python代码,展示了如何使用enumerate()函数:

fruits = ['apple', 'banana', 'cherry', 'durian']
for i, fruit in enumerate(fruits):
    print(i,fruit)

输出结果如下:

0 apple
1 banana
2 cherry
3 durian

4. enumerate()函数的应用

enumerate()函数在实际编程中很常用,以下是些常见的应用情况:

4.1 遍历列表或元组时,要同时取出每个元素的索引和值

通过enumerate()函数的语法,我们可以自定义开始的值,从而实现从1开始输出索引。

例:

(1)输出_list中的每个元素及其对应的原数组中的下标。

_list = ['apple', 'banana', 'cherry', 'durian']
for index, value in enumerate(_list):
    print(index, value)

输出:

0 apple
1 banana
2 cherry
3 durian

(2)可以指定开始的值从1开始

_list = ['apple', 'banana', 'cherry', 'durian']
for index, value in enumerate(_list, 1):
    print(index, value)

输出:

1 apple
2 banana
3 cherry
4 durian

4.2 将列表转换为字典

(1)将列表和索引一一映射为字典

例:

_list = ['apple', 'banana', 'cherry', 'durian']
_dict = {key: value for key, value in enumerate(_list)}
print(_dict)

输出:

{0: 'apple', 1: 'banana', 2: 'cherry', 3: 'durian'}

(2)将列表反序输出并转换为字典

例:

_list = ['apple', 'banana', 'cherry', 'durian']
_dict = {key: value for key, value in enumerate(reversed(_list))}
print(_dict)

输出:

{0: 'durian', 1: 'cherry', 2: 'banana', 3: 'apple'}

4.3 同时遍历多个列表

例:

_list1 = ['apple', 'banana', 'cherry', 'durian']
_list2 = ['red', 'yellow', 'pink', 'green']

for index, (value1, value2) in enumerate(zip(_list1, _list2)):
    print(index, value1, value2)

输出:

0 apple red
1 banana yellow
2 cherry pink
3 durian green

4.4 给循环中的每个元素编制一个唯一的计数器

例:

_list = ['apple', 'banana', 'cherry', 'durian']
for i, fruit in enumerate(_list):
    print(i,fruit)

输出:

0 apple
1 banana
2 cherry
3 durian

5. 总结

enumerate()函数以可枚举的形式处理可迭代对象,并返回可枚举对象(enumerate object)。它提供更高效的编程方式,可以为Python程序员减少许多无谓的代码重复和错误。掌握enumerate()函数,你可以在Python中轻松处理大量数据,并与其他函数一起使用来构建自己的程序。