我想在python中将项添加到现有字典中。例如,这是我的字典:
default_data = {
'item1': 1,
'item2': 2,
}
我想添加新项目:
default_data = default_data + {'item3':3}
如何实现这一目标?
答案 0 :(得分:1057)
default_data['item3'] = 3
简单如py。
另一种可能的解决方案:
default_data.update({'item3': 3})
如果你想一次插入多个项目,这很好。
答案 1 :(得分:68)
可以这么简单:
default_data['item3'] = 3
正如Chris' answer所述,您可以使用update添加多个项目。一个例子:
default_data.update({'item4': 4, 'item5': 5})
请参阅有关dictionaries as data structures和dictionaries as built-in types的文档。
答案 2 :(得分:23)
我突然想到你可能实际上已经在询问如何为词典实现+
运算符,以下似乎有效:
>>> class Dict(dict):
... def __add__(self, other):
... copy = self.copy()
... copy.update(other)
... return copy
... def __radd__(self, other):
... copy = other.copy()
... copy.update(self)
... return copy
...
>>> default_data = Dict({'item1': 1, 'item2': 2})
>>> default_data + {'item3': 3}
{'item2': 2, 'item3': 3, 'item1': 1}
>>> {'test1': 1} + Dict(test2=2)
{'test1': 1, 'test2': 2}
请注意,使用dict[key] = value
或dict.update()
会产生更多开销,因此除非您打算创建新字典,否则我建议不要使用此解决方案。