我有一个表格,其中的数据如下所示:
|Country|State|City |Street|
|-------|-----|-----|------|
| USA | AZ |city1| str1 |
| USA | AZ |city1| str2 |
| USA | AZ |city2| str1 |
| USA | AZ |city2| str3 |
| USA | MN |city3| str4 |
| MEX | CH |city4| str5 |
| MEX | CH |city4| str6 |
将其转换为嵌套字典的正确方法是什么? 我希望结果看起来像这样:
nested_dict = {
'USA':{
'AZ':{
'city1':['str1','str2'],
'city2':['str1','str3'],
},
'MN':{
'city3':['str3','str4'],
},
},
'MEX':{
'CH':{
'city4':['str5','str6'],
},
},
}
请您参考如下方法:
您可以使用嵌套的 defaultdict :
from collections import defaultdict as dd
nested_dict = dd(lambda: dd(lambda: dd(list)))
for m in model.objects.all():
nested_dict[m.Country][m.State][m.City].append(m.Street)
