Python enumerate() 函数:循环、元组和字符串

⚡ 智能摘要

Python `enumerate()` 函数会为任何可迭代对象添加一个自动计数器,并在循环过程中返回索引-值对。本文将介绍其语法、可选的起始索引,以及它如何应用于列表、元组、字符串和字典。

  • 🔢 此产品的作用: 为可迭代对象中的每个元素添加一个计数器,返回索引值对。
  • ⚙️ 语法: enumerate(iterable, startIndex) 接受一个可迭代对象和一个可选的起始编号。
  • 🔟 自定义启动: startIndex 设置计数的起始位置;省略此参数则从 0 开始计数。
  • 🔁 厕所ping: 配合 for 循环,可以同时读取索引和值。
  • 📦 任何可迭代对象: 支持处理列表、元组、字符串和字典。
  • 🤖 人工智能帮助: 副驾驶和 AI 工具自动完成 enumerate() 循环并重构手动计数器。

Enumerate() 函数 Python

什么是 Python 枚举?

Python 枚举() 是内置函数, Python 库。它将给定的输入作为集合或元组,并将其作为枚举对象返回。 Python Enumerate() 命令为可迭代对象的每个项目添加一个计数器,并返回一个枚举对象作为输出字符串。

的语法 Python 枚举()

enumerate(iterable, startIndex)

参数

三个参数是:

  • 可迭代:可循环的对象。
  • 起始索引:(可选)计数将从循环中第一个项目的 startIndex 中给出的值开始,并为下一个项目增加该值,直到到达循环结束。

然而,如果没有指定startIndex,计数将从0开始。

返回值

它将返回一个可迭代对象,其中计数值为作为输入的迭代器对象中的每个项目。

枚举()中 Python 例如:

枚举方法带有一个自动计数器/索引,用于枚举列表中存在的每个项目 Python。firstindex 值将从 0 开始。您还可以使用 enumerate 中的可选参数 startIndex 来指定 startindex。
例如:
在下面的代码中,mylist 是传递给 Enumerate 函数的列表 Python。 该 list() 函数 用于显示枚举 Python 输出。

注意: 没有使用 startIndex,因此 firstitem 的索引将从 0 开始。

枚举的输出将采用以下方式:

(0, item_1), (1, item_2), (2, item_3), … (n, item_n)

文件:python_enumerate.py

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist)
print(list(e_list))

输出:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

在带有 startIndex 的列表上使用Enumerate()

在下面的例子中,startindex 为 2。第一个项目的索引将从给定的 startindex 开始。

计费示例:

在下面的示例中,mylist 是给定用于枚举的列表。list() 函数用于显示枚举输出。

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist,2)
print(list(e_list))

输出:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

厕所ping 对枚举对象

该示例显示了具有和不具有 startIndex 的对象枚举。

  • 第一个 for 循环没有 startIndex,因此索引从 0 开始。
  • 第二个 for 循环的 startIndex 为 10,因此索引从 10 开始。

计费示例:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

输出:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

枚举元组

在以下示例中,您可以在枚举中使用元组。您还可以使用 startIndex,并且每个项目的键将从给定的 startIndex 开始。

默认情况下,startIndex 为 0。因此,您会看到项目 A 的键为 0,项目 B 的键为 1,依此类推。

计费示例:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

输出:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

枚举字符串

In Python,字符串是一个数组,因此您可以循环遍历它。如果您将字符串传递给 enumerate(),输出将显示字符串中每个字符的索引和值。

计费示例:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

输出:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

枚举字典

In Python,字典列在花括号中,在这些花括号内,声明了值。

每个元素都是一个键/值对,以逗号分隔。您可以在 enumerate() 中使用字典并查看输出。

my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"}
for i in enumerate(my_dict):
  print(i)

输出:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

使用枚举的优点

以下是使用 Enumerate 的优点/好处 Python:

  • 枚举允许您循环遍历列表、元组、字典、字符串,并提供值和索引。
  • 要使用 for 循环获取索引值,可以使用 list.index(n)。但是,list.index(n) 非常昂贵,因为它将遍历 for 循环两次。在这种情况下,枚举非常有用,因为它可以一次性提供索引和项目。

常见问题

enumerate() 是一个内置函数,它向列表、元组、字符串或字典等可迭代对象添加计数器,并返回索引值对。

语法为 enumerate(iterable, startIndex)。其中,iterable 可以是任何可循环的对象;startIndex 是一个可选的起始数字。如果没有 startIndex,则计数从 0 开始。

传递第二个参数,例如 enumerate(mylist, 2)。计数将从该值而不是 0 开始,因此第一个元素的索引为 2。

是的。传递字典会遍历其键,并将每个键与一个索引配对。当需要获取值时,可以使用 `items()` 枚举字典中的所有元素。

enumerate() 比手动索引或 list.index(n) 更简洁、更快速,后者会扫描两次,同时返回索引和项。

GitHub Copilot 等 AI 助手可以自动完成 enumerate() 循环,建议起始索引,并重构手动计数器,从而加快惯用操作。 Python 并抓住差一分的失误。

是的。人工智能驱动的代码检查工具可以自动进行这种重构,识别出 `range(len(x))` 模式并将其重写为 `enumerate(x)`,从而实现更简洁、更高效的代码。 Python行为相同的集成电路循环。

`enumerate()` 返回一个枚举对象,它是一个包含 (索引, 值) 对的迭代器。可以直接遍历该对象,也可以将其包装在 `list()` 函数中以查看所有对。

总结一下这篇文章: