在 Python 中将字典转换为元组

Manav Narula 2023年1月30日
  1. 在 Python 中使用 items() 函数把一个字典转换为一个图元组列表
  2. 在 Python 中使用 for 循环将字典转换为元组列表
  3. 使用列表推导方法将字典转换为元组列表
  4. 使用 zip() 函数将字典转换为元组列表
在 Python 中将字典转换为元组

在 Python 中,我们有不同的集合可以使用,有时我们可能需要根据我们的需要将一个集合转换为另一个集合。

在 Python 中,字典是用来存储键值对的。本教程将讨论将这些键值对存储为列表中的元组的不同方法。

在 Python 中使用 items() 函数把一个字典转换为一个图元组列表

items() 函数返回一个视图对象,其中的字典的键值对是一个列表中的元组。我们可以将它与 list() 函数一起使用,以列表的形式获得最终结果。下面的代码实现了这一点。

d1 = {"x": 1, "y": 2, "z": 3}
l1 = list(d1.items())
print(l1)

输出:

[('x', 1), ('y', 2), ('z', 3)]

请注意,在 Python v3.0 以下,iteritems() 函数可以执行同样的功能。

在 Python 中使用 for 循环将字典转换为元组列表

在这个方法中,我们使用 for 循环在字典中迭代。我们使用键来访问元素并创建元组,元组被追加到一个空列表中。下面的代码实现了这个方法。

d1 = {"x": 1, "y": 2, "z": 3}
l2 = []

for i in d1:
    tpl = (i, d1[i])
    l2.append(tpl)

print(l2)

输出:

[('x', 1), ('y', 2), ('z', 3)]

使用列表推导方法将字典转换为元组列表

列表推导是一种在一行代码中创建列表的优雅方法。对于这个方法,我们将同时使用 for 循环和 items() 函数,如下所示。

d1 = {"x": 1, "y": 2, "z": 3}
l3 = [(v, k) for v, k in d1.items()]
print(l3)

输出:

[('x', 1), ('y', 2), ('z', 3)]

使用 zip() 函数将字典转换为元组列表

zip() 函数通过合并两个可迭代对象并形成一个元组来返回一个 zip 类型的对象。我们可以将这个对象传递给 list() 函数,在一个新的列表中得到最终结果。

d1 = {"x": 1, "y": 2, "z": 3}
l4 = list(zip(d1.keys(), d1.values()))
print(l4)

输出:

[('x', 1), ('y', 2), ('z', 3)]

在上面的代码中,我们使用 keys()values() 函数分别从字典中获取键和值的列表,并使用 zip() 函数将它们合并。

作者: 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