将输入添加到现有字典条目而不覆盖

时间:2013-12-10 01:22:00

标签: python

我试图添加到类似下面的字典

d = {"feline" : {"lion" : 22,
"tiger" : 88 },
"canine" : {"dog" : 12,
"wolf" : 53,
"coyote" : 77} }
我试图将'cat'和55添加到feline下的字典中,但我不确定如何访问它。这就是我的尝试

fp = raw_input("enter a feline type")
apa = input("enter an amount")
for keys in d :
    if fp not in d[keys] :
        d['feline'] = {fp : int(apa)}

但是当我这样做时,老虎和狮子等的值会被删除,输入会被替换掉。例如,如果我想在'feline'部分下添加cat,请使用上面的代码我得到...

{'feline': {'cat ': 55}, 'canine': {'coyote': 77, 'wolf': 53, 'dog': 12}}

如何在不使用字典覆盖它们的情况下将狮子和老虎留在字典中

1 个答案:

答案 0 :(得分:8)

只需使用像这样的项目分配

d['feline']['cat'] = 55

对于您的情况,您可能想要这样做,

d['feline'][fp] = int(apa)

当你说,

d['feline'] = {fp : int(apa)}

您正在使用新字典(d['feline'])替换{fp : int(apa)}中已有的内容,而不是像上面所示添加新密钥和相应值。