我正在尝试创建一个嵌套字典。我有一个元组列表(称为“kinetic_parameters”),如下所示:
('New Model','v7','k1',0.1)
('New Model','v8','k2',0.2)
('New Model','v8','k3',0.3)
我需要第二列是外键,值是另一个字典,内键是第三列,值是第四列中的数字。
我目前有:
for i in kinetic_parameters:
dict[i[1]]={}
dict[i[1]][i[2]]=i[3]
但是这段代码不会处理内部字典中的多个键,所以我丢失了一些信息。有人知道如何解决我的问题吗?
我使用的是 Python 2.7,我希望输出如下所示:
{'v7': {'k1': 0.1}, 'v8':{'k2':0.2, 'k3': 0.3}}
最佳答案
使用 defaultdict ,并且不要使用 dict
作为变量名,因为我们需要它来引用字典类型:
import collections
d = collections.defaultdict(dict)
for i in kinetic_parameters:
d[i[1]][i[2]]=i[3]
这将自动创建字典。
关于python - 如何更正我的代码以生成嵌套字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967100/