【发布时间】:2021-12-30 14:44:58
【问题描述】:
我有一个字典列表列表,如下所示:
ini_dict = [[
{'nikhil': 1, 'vashu': 5, 'manjeet': 10, 'akshat': 16},
{'nikhil': 1, 'vashu': 5, 'manjeet': 10, 'akshat': 15}
]]
第 1 步:降低一级
我已经修改并减少了一个级别,如下所示:
mod = []
for i in ini_dict:
for j in i:
mod.append({item: values for item, values in j.items()})
这给了我如下输出:
[
{'nikhil': 1, 'vashu': 5, 'manjeet': 10, 'akshat': 15},
{'nikhil': 1, 'vashu': 5, 'manjeet': 10, 'akshat': 15}
]
第 2 步:将键替换为另一个字典中的值
现在,我有另一套 keys 字典 result_dict1
我使用键(此处为小写)将上述数据mod 中的键替换为相关值(此处为大写)。
result_dict1 = {
"nikhil": "Nikhil",
"vashu": "Vashu",
"manjeet": "Manjeet",
"akshat": "Akshat"
}
我试过的代码
现在,我尝试了以下代码,但它没有给我所需的输出:
final = []
for j, k in result_dict1.items():
for i in mod:
for x, y in i.items():
final += [{k: y}]
输出:
[{'Nikhil': 1}, {'Nikhil': 5}, {'Nikhil': 10}, {'Nikhil': 15}, {'Nikhil': 1}, {'Nikhil': 5}, {'Nikhil': 10}, {'Nikhil': 15}, {'Vashu': 1}, {'Vashu': 5}, {'Vashu': 10}, {'Vashu': 15}, {'Vashu': 1}, {'Vashu': 5}, {'Vashu': 10}, {'Vashu': 15}, {'Manjeet': 1}, {'Manjeet': 5}, {'Manjeet': 10}, {'Manjeet': 15}, {'Manjeet': 1}, {'Manjeet': 5}, {'Manjeet': 10}, {'Manjeet': 15}, {'Akshat': 1}, {'Akshat': 5}, {'Akshat': 10}, {'Akshat': 15}, {'Akshat': 1}, {'Akshat': 5}, {'Akshat': 10}, {'Akshat': 15}]
问题
键被替换,但组合为1:N。
预期输出:
[
{'Nikhil': 1, 'Vashu': 5, 'Manjeet': 10, 'Akshat': 15},
{'Nikhil': 1, 'Vashu': 5, 'Manjeet': 10, 'Akshat': 15}
]
【问题讨论】:
标签: python dictionary transformation