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

标签 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)}

但是当我这样做时,tiger 和 lion 等值被删除,输入被替换为它们。例如,如果我想在“猫科动物”部分下添加猫,使用上面的代码我得到...

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

如何在不使用字典覆盖的情况下将 lion 和 tiger 保留在字典中

最佳答案

像这样简单地使用项目分配

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

对于你的情况,你可能想要做,

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

当你说,

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

您正在用新字典 ({fp : int(apa)}) 替换 d['feline'] 中已有的内容,您可以添加新键和相应的值,如我上面所示。

关于python - 将输入添加到现有字典条目而不覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484290/

相关文章:

python - 阻止 pydoc 运行我的 Python 程序

python - 如何使用scipy的leastsq来求解数组?

python - 在带有 django-rest-framework 的过滤器中使用自定义方法

python - 按日期和 OR 条件过滤的 Pandas

python - python中不同打印命令的打印顺序

来自文本文件的Python代码Mysql连接字符串

python - 关于 Python 匹配对象

python - Pandas 将日期值存储在错误的列中

python - Psycopg 在 Django 中缺少模块

python - NumPy 点积根据数组 dtype 给出两个不同的结果