655

我想将一个项目添加到 Python 中的现有字典中。例如,这是我的字典:

default_data = {
            'item1': 1,
            'item2': 2,
}

我想添加一个新项目,以便:

default_data = default_data + {'item3':3}

我怎样才能做到这一点?

4

3 回答 3

1329
default_data['item3'] = 3

像py一样简单。

另一种可能的解决方案:

default_data.update({'item3': 3})

如果您想一次插入多个项目,这很好。

于 2011-06-20T19:08:11.433 回答
91

它可以很简单:

default_data['item3'] = 3

正如克里斯的回答所说,您可以使用update添加多个项目。一个例子:

default_data.update({'item4': 4, 'item5': 5})

请参阅有关字典作为数据结构字典作为内置类型的文档。

于 2011-06-20T19:09:07.360 回答
25

我突然想到,您实际上可能在问如何+为字典实现运算符,以下似乎可行:

>>> 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] = valueor开销更大dict.update(),因此我建议您不要使用此解决方案,除非您仍然打算创建新字典。

于 2011-06-20T19:36:55.887 回答