Python 中字典转换为元组列表


在 Python 中,将集合类型从一种类型转换为另一种类型是非常常见的需求。在本文中,我们将了解如何从字典中存在的键值对创建元组。每个键值对都变成一个元组。因此,最终的列表是一个元素为元组的列表。

使用 items()

我们使用字典的 items 方法,它允许我们遍历每个键值对。然后我们使用 for 循环将这些值打包成一个元组。我们将所有这些元组放到一个最终列表中。

示例

 实时演示

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}

# Using items()
res = [(k, v) for k, v in dictA.items()]

# Result
print(res)

输出

运行以上代码将得到以下结果:

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

使用 zip

另一种方法是使用 zip 函数。zip 函数将键和值配对为元组,然后我们通过应用 list 函数将整个结果转换为列表。

示例

 实时演示

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}

# Using items()
res = list(zip(dictA.keys(), dictA.values()))

# Result
print(res)

输出

运行以上代码将得到以下结果:

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

使用 append

append() 可以将结果追加到列表中,在获取值对以创建元组之后。我们遍历一个 for 循环以获得最终结果。

示例

 实时演示

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}

# Initialize empty list
res=[]

# Append to res
for i in dictA:
tpl = (i, dictA[i])
res.append(tpl)

# Result
print(res)

输出

运行以上代码将得到以下结果:

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

更新于: 2020年5月4日

406 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告