Python 中的 Enumerate() 函数:基本演练
已发表: 2021-06-24Python 是数据科学家最喜欢的语言之一。 该语言很直观,python 有一系列有用的库来解决不同的问题。 它有许多模块来帮助数据科学家跨越任何数据科学问题的各个阶段——从数据挖掘到分析再到报告。
在 upGrad,我们指导了来自不同领域的专业人士,包括经济学、人文科学、工程学。 到目前为止,Python 一直是初学者和专业人士在其职业生涯任何阶段最容易学习的语言。 因此,如果您是一名有抱负的数据科学家,并希望迈出第一步,那么 Python 可能是一个很好的起点!
Python 编程语言具有多种功能,可帮助您筛选不同的数据集并根据您的要求操作数据容器。 其中一项功能是 enumerate() 方法。 它是 Python 中更重要的功能之一,尤其是在处理大量数据集时。 不仅如此,该函数还比执行类似任务的其他 Python 函数优化了很多——它使您的代码保持高效和干净。
该函数向任何可迭代对象添加一个计数器。 然后,使用计数器,您可以跟踪已发生的迭代次数。 该计数器的值单独存储。 使用此方法,您可以遍历列表或字典或元组或一组项目,同时跟踪所有元素的索引。
在本文中,我们将进一步分解 enumerate() 函数!
enumerate() 方法的语法和应用
enumerate() 函数创建一个单独的计数器变量,用于跟踪循环中的迭代次数。 它是一个内置的 Python 函数,因此您无需导入任何库即可访问它。

使用 enumerate() 函数时,您不必担心创建 range() 语句来获取数组的完整长度。 由于您有 counter 变量,因此您可以快速迭代 enumerate() 而无需创建不同的迭代器。
下面是 enumerate() 方法的语法:
枚举(可迭代,startIndex)
它有两个参数:
- 可迭代:任何可以循环的对象。
- startIndex:这是可选的。 如果您在此处提供任何值,则计数将从您提供的值开始,并且将递增直到循环结束。 默认情况下,startIndex 值为 0。
让我们通过几个例子来了解 enumerate() 方法的工作原理!
这是一小段代码。 我们有一个名为 food_items 的数组,并且在 for 循环中,我们调用了 enumerate() 方法,可迭代对象为 food_items(这将是该函数将循环的数组)。 然后,我们尝试打印出索引和名称——这是 enumerate() 返回的两个元素
food_items = [“披萨”、“汉堡”、“沙拉”、“千层面”、“意大利面”]
对于索引,枚举中的名称(food_items):
打印(索引,名称)
enumerate() 函数遍历我们的食物数组项并返回索引和名称。 索引是已经发生的迭代次数,名称是列表中的特定项目。 这是程序输出的内容:
0 比萨
1个汉堡
2 沙拉
3 烤宽面条
4 意大利面
如您所见,输出与您预期的一样 - 您获得了 food_items 列表中不同项目的索引和名称的对象。 使用 enumerate() 函数而不是 len() 或 range() 使我们的代码非常干净和可读!

使用枚举对象
默认情况下, enumerate() 返回一个元组列表。 我们可以通过在遍历 food_items 数组时打印 'item' 的值来看到这一点:
对于枚举中的项目(food_items):
打印(项目)
此代码以元组数据结构返回索引值和该索引处的食物项。
(0,“披萨”)
(1,“汉堡”)
(2,“沙拉”)
(3,“千层面”)
(4,“意大利面”)
如果您从本文开始就已经注意了,您会记得 enumerate() 方法有两个参数——iterable 和 startIndex。 默认情况下,到目前为止,我们的方法是在说话——作为 startIndex。 让我们尝试改变它,看看效果如何!
food_items = [“披萨”、“汉堡”、“沙拉”、“千层面”、“意大利面”]
对于索引,枚举中的名称(food_items,10):
打印(索引,名称)
我们的程序返回以下
10 比萨
11 汉堡
12 沙拉
13 烤宽面条
14 意大利面
这对于您希望从 0 以外的数字开始列表的用例很有用。
我们还可以使用 enumerate() 方法创建带有列表项和索引的元组。 这是一个例子:
food_items = [“披萨”、“汉堡”、“沙拉”、“千层面”、“意大利面”]
food_items_with_counter = list(枚举(food_items, 1))
打印(food_items_list_with_counter)
该代码将返回一个元组列表,其中包含食物项和 enumerate() 方法的索引值。 看看这个:

[(1, '披萨'), (2, '汉堡'),(3, '沙拉'), (4, '烤宽面条'), (5, '意大利面')]
结论
Python 中的 enumerate() 函数是一个健壮且经过优化的函数。 如果您想遍历一个值数组并在数组的不同位置操作数据,这很有用。
现在您已经了解了 enumerate() 的基础知识,继续练习 - 创建几个数组并尝试使用不同的输入运行 enumerate() 函数。 毕竟,编程都是关于实践的。 补充一点很重要——编程(尤其是数据科学)除了公然练习之外,还关乎了解正确的事情。 你需要找到两者的结合——知识和实践。
如果您是该领域的新手寻求帮助 - upGrad 支持您! 我们的机器学习和人工智能理学硕士课程与 IIIT-Bangalore 和 LJMU 合作开展。 您将获得行业专家的一对一支持、强大的同龄学生群体以及 360 度的职业支持。
今天就联系我们,提升您的职业生涯!