我想为字典编写+
运算符。
我知道在like here之前也曾问过类似的问题,但是我想为字典写+
运算符。
我知道可以在Python的自定义类中重载运算符。但是,我没有找到如何在内置类中重载运算符(如果确实可行)。而且由于+
运算符未在Python中为字典定义,所以我想知道这是否完全可能?
我认为在SO上没有问过这个问题,因为我找不到类似的东西。也许我只是没有找到合适的条件来搜索它。 Another link that might be useful for that question。
答案 0 :(得分:0)
我猜您想做的就是对字典实现add方法-您可能想使用自己的逻辑,我在这里使用update方法来添加。您将必须继承并重载add方法才能实现此目的。这是方法。
class dicti(dict):
def __add__(self, obj):
temp = {}
temp.update(self)
temp.update(obj)
return temp
a = dicti({'a':1,'b':2})
b = dicti({'c':2})
c = a+b
print(a) #outputs -> {'a': 1, 'b': 2}
print(b) #outputs -> {'c':2}
print(c) #outputs -> {'a': 1, 'b': 2, 'c': 2}