在 Python 中枚举字典

Manav Narula 2023年10月10日
在 Python 中枚举字典

Python 中的 enumerate() 函数返回一个枚举类型的对象,并添加一个计数器变量来迭代一个列表或其他类型的集合。它使在这类对象上的循环变得更容易。

当我们把一个枚举对象传递给 list() 函数时,我们可以查看它的内容。例如:

l = ["a", "b", "c"]
print(list(enumerate(l)))

输出:

[(0, 'a'), (1, 'b'), (2, 'c')]

我们也可以将 enumerate() 函数用于字典。

以下示例显示了一个基本示例。

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1):
    print(i, j)

输出:

0 a
1 b
2 c

请注意,我们直接将字典传递给 enumerate() 函数,它只将计数器变量分配给字典的键而不是值。所以当我们在这个对象上迭代时,我们只能访问计数器变量和字典的键。

为了同时枚举键和值,我们可以使用字典 items() 方法。items() 方法返回一个键值对为元组的对象。下面的例子显示了我们如何使用 items() 方法和 enumerate() 函数,并同时访问键和其对应的值。

d1 = {"a": 15, "b": 18, "c": 20}

for i, (j, k) in enumerate(d1.items()):
    print(i, j, k)

输出:

0 a 15
1 b 18
2 c 20

如果我们只想要没有键的字典元素,我们可以使用 values() 函数。它返回一个包含字典值的列表。

下面的代码显示了如何操作。

d1 = {"a": 15, "b": 18, "c": 20}

for i, j in enumerate(d1.values()):
    print(i, j)

输出:

0 15
1 18
2 20
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python Dictionary