python向字典添加新项

Python add new item to dictionary

本问题已经有最佳答案,请猛点这里访问。

我想在已有的python字典中添加一个项目。例如,这是我的字典:

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

我想添加新项目,以便:

1
default_data = default_data + {'item3':3}

如何做到这一点?


1
default_data['item3'] = 3

像Py一样容易。

另一个可能的解决方案:

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

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


它可以简单到:

1
default_data['item3'] = 3

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

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

请将有关字典的文档作为数据结构查看,将字典作为内置类型查看。


我突然想到,您可能真的在问如何实现字典的+运算符,以下似乎有效:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> 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] = valuedict.update()的开销更大,因此我建议不要使用此解决方案,除非您无论如何都要创建一个新字典。