我的目标是将键值对附加到字典内的值:
我有以下内容:
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。但在这些情况下,我都没有得到我想要的结果。
提前谢谢
答案 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'})