将键和值附加到键值对字典Python

时间:2016-03-06 17:52:59

标签: python

我的目标是将键值对附加到字典内的值:

我有以下内容:

crucial = {'C': {'C': 0, 'B': 1}}
done = {}
for each in crucial:
    for i in each:
        done['D'] = 0
        print(done)
        print(crucial[i].append(done))

输出结果为:

  Traceback (most recent call last):
  File "C:\Users\User\Documents\Programming Full-Stack\Python\Exercise Files\02 Quick Start\conditionals.py", line 13, in <module>
    print(crucial[i].append(done))
AttributeError: 'dict' object has no attribute 'append'
{'D': 0}

预期产出:

{'C': {'C': 0, 'B': 1, 'D':0}}

因此,任何人都可以向我提供一个指南,将一个键值对附加到外部字典中的该值字段吗?

尝试了不同的方法:到目前为止,我已经尝试将字典转换为将[d]声明为[]而不是{}的列表。我也试过把.extend代替.append。但在这些情况下,我都没有得到我想要的结果。

提前谢谢

2 个答案:

答案 0 :(得分:8)

如错误所述,dict没有属性append。字典对象中没有append方法。要为字典中的特定键指定值,只需:

d[key] = new_value

如果您愿意,可以使用new_value:{'a':1}

如果您要使用新数据更新字典,可以使用更新方法。

d.update(new_stuff)

在您的代码中,只需更改您的附加内容,类似于我提供的示例。我在这里纠正了它:

crucial = {'C': {'C': 0, 'B': 1}}
done = {}
for each in crucial:
    for i in each:
        done['D'] = 0
        print(done)
        crucial[i].update(done)

print(crucial)

答案 1 :(得分:4)

Python有一个更新功能,可以将新项添加到字典

crucial .update({'D':'0'})