Python – 将字典项转换为值
有时,在使用Python字典时,我们可能会遇到需要将字典的所有项转换为单独的值字典的问题。这个问题可能发生在我们接收字典的应用程序中,其中键和值都需要映射为单独的值。让我们讨论可以执行此任务的某些方式。
Input : test_dict = {‘Gfg’: 1}
Output : [{‘key’: ‘Gfg’, ‘value’: 1}]
Input : test_dict = {‘Gfg’: 1, ‘best’: 5}
Output : [{‘key’: ‘Gfg’, ‘value’: 1}, {‘key’: ‘best’, ‘value’: 5}]
方法#1:使用循环
这是解决此问题的蛮力方法。在这种情况下,我们需要运行一个循环来为字典的每个项目分配一个不同的值。
# Python3 code to demonstrate working of
# Convert dictionary items to values
# Using loop
# initializing dictionary
test_dict = {'Gfg': 1, 'is': 2, 'best': 3}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Convert dictionary items to values
# Using loop
res = []
for key, val in test_dict.items():
res.append({"key": key, "value": val})
# printing result
print("Converted Dictionary : " + str(res))
The original dictionary : {‘Gfg’: 1, ‘is’: 2, ‘best’: 3}
Converted Dictionary : [{‘key’: ‘Gfg’, ‘value’: 1}, {‘key’: ‘is’, ‘value’: 2}, {‘key’: ‘best’, ‘value’: 3}]
方法#2:使用列表推导
这是可以执行此任务的另一种方式。这以与上述类似的方式解决了问题,但它是一种更紧凑的速记形式。
# Python3 code to demonstrate working of
# Convert dictionary items to values
# Using list comprehension
# initializing dictionary
test_dict = {'Gfg': 1, 'is': 2, 'best': 3}
# printing original dictionary
print("The original dictionary : " + str(test_dict))
# Convert dictionary items to values
# Using list comprehension
res = [{'key': key, 'value': test_dict[key]} for key in test_dict]
# printing result
print("Converted Dictionary : " + str(res))
The original dictionary : {‘Gfg’: 1, ‘is’: 2, ‘best’: 3}
Converted Dictionary : [{‘key’: ‘Gfg’, ‘value’: 1}, {‘key’: ‘is’, ‘value’: 2}, {‘key’: ‘best’, ‘value’: 3}]