我有两个词典: 一个是:
data_obt={'Sim_1':{'sig1':[1,2,3],'sig2':[4,5,6]},'Sim_2':{'sig3':[7,8,9],'sig4':[10,11,12]},'Com_1':{'sig5':[13,14,15],'sig6':[16,17,18]},'Com_2':{'sig7':[19,20,21],'sig9':[128,23,24]}}
另一个是:
simdict={'sig1':'Bit 1','sig2':'Bit 2','sig3':'Bit 3','sig4':'Bit 4','sig5':'Bit 5','sig6':'Bit 6','sig7':'Bit 7','sig9':''}
现在我必须return_data[fpath].append(data_obt[key][item])
,其中fpath = 'sig9',key='Com_2'
和item = 'sig9'
但是当我尝试执行此操作时,它会抛出错误:KeyError: 'sig9'
我的预期return_data
是{'sig9':[128,23,24]}
有人可以帮帮我吗?
答案 0 :(得分:0)
据我了解,return_data
是另一个词。如果是这样,它(尚未)具有名为fpath
的密钥(即'sig9')。因此,错误。
要避免这种情况,您应该使用defaultdict,或者每次遇到新密钥时将此元素初始化为空列表。