在 Python 中向字典中添加新项目

发布于 2024-11-16 11:09:00 字数 200 浏览 2 评论 0原文

如何在 Python 中向现有字典添加项目?例如,给定:

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

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

default_data = default_data + {'item3': 3}

How do I add an item to an existing dictionary in Python? For example, given:

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

I want to add a new item such that:

default_data = default_data + {'item3': 3}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

阳光①夏 2024-11-23 11:09:00
default_data['item3'] = 3

简单如 py.

另一种可能的解决方案:

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

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

default_data['item3'] = 3

Easy as py.

Another possible solution:

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

which is nice if you want to insert multiple items at once.

dawn曙光 2024-11-23 11:09:00

它可以很简单:

default_data['item3'] = 3

正如 Chris 的回答所说,您可以使用 update 添加多个 物品。示例:

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

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

It can be as simple as:

default_data['item3'] = 3

As Chris' answer says, you can use update to add more than one item. An example:

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

Please see the documentation about dictionaries as data structures and dictionaries as built-in types.

假装不在乎 2024-11-23 11:09:00

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

>>> 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(),所以我建议不要使用此解决方案,除非您打算创建一个新的字典。

It occurred to me that you may have actually be asking how to implement the + operator for dictionaries, the following seems to work:

>>> 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}

Note that this is more overhead then using dict[key] = value or dict.update(), so I would recommend against using this solution unless you intend to create a new dictionary anyway.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文