我需要为字典指定嵌套值。为了便于理解,我简化了我的问题:
Data = {}
day1 = 'March12'
day2 = 'March14'
e1 = 'experiment1'
e2 = 'experiment2'
Data[day1][e1] = 4
但是Data[day1][e1] = 4
命令不起作用(原因与test = {} ; test["foo"]["bar"] = 0
相同)。有解决办法吗?在
我试着做一些事情,比如:
^{pr2}$但我不能成功;我写的所有东西都以某种方式覆盖了现有的价值观,或者不是我想要的那样。我可能错过了一些东西。。。在
一些额外的注意事项:一开始没有任何关于字典长度的信息,也没有关于它到底是什么样子的信息。而不是值4
,我将一个对象指定为一个值。我需要使用这样的结构(Data[day1][e1]
),因为我必须在循环中将对象分配给它们的键。在
您需要在
Data
中存储一个新的字典来实现这一点:但通常情况下,您首先要测试字典是否已经存在;使用
^{pr2}$dict.setdefault()
使之成为一个一步完成的过程:^{} type 自动执行该过程:
day1
键还不存在,但是defaultdict()
对象会根据需要调用配置的构造函数(dict
)为该键生成一个新值。在你必须为每个键创建每个空dict
Data = {}
Data['day1'] = {}
Data['day1']['e1'] = 4
相关问题 更多 >
编程相关推荐