Python中的enumerate()函数:从迭代中获得枚举对象
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中轻松处理大量数据,并与其他函数一起使用来构建自己的程序。
