如何向python字典中的现有键添加新字典

2024-06-16 14:43:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个预定义的dicitonary:

customMappingDict = {'Validated' : '',
                 'notValidated' : ''}

如果可能,我想将新字典(!?)作为其值添加到现有键中,如中所示:

customMappingDict = {'Validated' : 'Key: 'Value', Key1: 'Value'',
                 'notValidated' : 'Key: 'Value', Key1: 'Value''}

对于生成的字典,我希望调用两个预先存在的键(已验证和未验证),并从其值(!?)循环键,如下所示:

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

Tags: keyformatfor字典valuedictkey1validated
2条回答

试试这个

假设我有一个口述

d = {'red': 100, 'green': 1000}

现在我想把“red”的值改成dict

d['red'] = dict()
d['red']['light_red'] = 100.10
d['red']['dark_red'] = 100.20

现在是

{'red': {'light_red': 100.10, 'dark_red': 100.20}, 'green': 1000}

使用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])相同,只是更干净

相关问题 更多 >