我正在尝试创建嵌套词典。我有一个元组列表(称为“动力学参数”),如下所示:
('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
作为变量名,因为我们需要它来引用字典类型:这将自动创建词典。你知道吗
在您的代码中,每个循环字典都被重新初始化。您需要先初始化字典,然后向其中添加项
或者在初始化前检查
是的,如果在使用现有词典之前已经看到主(“外”)键。或者反过来说:只在不存在的情况下创建一个嵌入式字典,然后添加值。以下是逻辑,为了清晰起见,使用元组赋值:
或者您可以使用
defaultdict
跳过存在性检查,它可以根据需要创建新的嵌入式dict:相关问题 更多 >
编程相关推荐