2024-04-27 04:52:24 发布
网友
我想在python中的现有字典中添加一个项。例如,这是我的字典:
default_data = { 'item1': 1, 'item2': 2, }
我想添加新项目,以便:
default_data = default_data + {'item3':3}
如何做到这一点?
我突然想到,您可能实际上在问如何为字典实现+运算符,下面的操作似乎有效:
+
>>> 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()的开销更大,因此我建议不要使用此解决方案,除非您仍要创建新字典。
dict[key] = value
dict.update()
default_data['item3'] = 3
很容易。
另一种可能的解决方案:
default_data.update({'item3': 3})
如果您想同时插入多个项目,这很好。
它可以简单到:
正如Chris' answer所说,可以使用update添加多个项。例如:
default_data.update({'item4': 4, 'item5': 5})
请参阅有关dictionaries as data structures和dictionaries as built-in types的文档。
我突然想到,您可能实际上在问如何为字典实现
+
运算符,下面的操作似乎有效:请注意,这比使用
dict[key] = value
或dict.update()
的开销更大,因此我建议不要使用此解决方案,除非您仍要创建新字典。很容易。
另一种可能的解决方案:
如果您想同时插入多个项目,这很好。
它可以简单到:
正如Chris' answer所说,可以使用update添加多个项。例如:
请参阅有关dictionaries as data structures和dictionaries as built-in types的文档。
相关问题 更多 >
编程相关推荐