如何将字典(其中键在元组中)转换为嵌套字典



有一个字典,其中键是一个元组。

{('Feb', 'File1', '100'): {'1': 78, '2': 408, '3': 202, '4': 39},
('Feb', 'File1', '101'): {'1': 201, '2': 101, '3': 529, '4': 103},
('May', 'File1', '100'): {'1': 78, '2': 402, '3': 20, '4': 39}}

根据月份,我需要转换为嵌套字典格式

如何将上述字典转换为这种格式

{
"Feb": {
"File1": {
"100": {
"1": 78,
"2": 408,
"3": 202,
"4": 39
},
"101": {
"1": 201,
"2": 101,
"3": 529,
"4": 103
}}},
"May": {
"File1": {
"100": {
"1": 78,
"2": 402,
"3": 20,
"157": 39
}}}
}

我认为这个解决方案解决了你的问题。

raw = {('Feb', 'File1', '100'): {'1': 78, '2': 408, '3': 202, '4': 39},
('Feb', 'File1', '101'): {'1': 201, '2': 101, '3': 529, '4': 103},
('May', 'File1', '100'): {'1': 78, '2': 402, '3': 20, '4': 39}}
new = {}
for keys in raw.keys():
new[keys[0]] = {keys[1]: {keys[2]: raw[keys]}}

问候

维尼修斯

您的问题的答案在下面的链接中给出,如果您仍然有任何疑问,请回复。

创建动态嵌套计数字典

或者你可以这样做:

dict = {('Feb', 'File1', '100'): {'1': 78, '2': 408, '3': 202, '4': 39},
('Feb', 'File1', '101'): {'1': 201, '2': 101, '3': 529, '4': 103},
('May', 'File1', '100'): {'1': 78, '2': 402, '3': 20, '4': 39}}
new = {}
for u, v, w in dict:
new.setdefault(u,{}).setdefault(v, {})[w] = dict[(u, v, w)]

最新更新