python - 如何将新字典添加到字典python中的现有键
问题描述
我有这个预定义的字典:
customMappingDict = {'Validated' : '',
'notValidated' : ''}
如果可能,我想将新字典(!?)添加到现有键作为其值,如:
customMappingDict = {'Validated' : 'Key: 'Value', Key1: 'Value'',
'notValidated' : 'Key: 'Value', Key1: 'Value''}
对于生成的字典,我想调用两个预先存在的键(Validated 和 notValidated)并从其值(!?)中循环键,如下所示:
for key in customMappingDict['Validated'].keys():
pass
...
输出应该是:
key, key1
我试过的:
if condition:
str1 = '{}'.format(provLst[0])
customMappingDict['Validated']: dict[str1]= '{}'.format(provLst[1])
else:
str2 = '{}'.format(provLst[0])
customMappingDict['notValidated']: dict[str2] = '{}'.format(provLst[1])
我在 PyCharm 中的穿着:
Class 'type' does not define '__getitem__', so the '[]' operator cannot be used on its instances
解决方案
使用collections.defaultdict
将为您省去很多麻烦。的想法defaultdict
是创建一个具有默认值的字典。在这种情况下,默认值也将是一个字典。
你可以这样做:
from collections import defaultdict
customMappingDict = defaultdict(dict)
if condition:
str1 = '{}'.format(provLst[0])
customMappingDict['Validated'][str1] = f'{provLst[1]}'
else:
str2 = '{}'.format(provLst[0])
customMappingDict['notValidated'][str2] = f'{provLst[1]}'
旁注:与清洁剂f{provLst[0]}
相同'{}'.format(provLst[0])
!