为什么不能使用“+”在Python中合并词典?

为什么不能使用“+”在Python中合并词典?,python,dictionary,concatenation,addition,Python,Dictionary,Concatenation,Addition,我是一个新的Python用户,我会有一些疑问 我知道+运算符不仅执行数字之间的求和,还执行字符串或列表之间的串联。为什么字典不允许这样做?dicts的+运算符如何处理重复键?e、 g >>> {'d': 2} + {'d': 1} 也许是柜台 还是像一个默认的dict 还是覆盖第一个键,如dict.update 还是只留下第一把钥匙 {'d': 2} 坦率地说,这是模棱两可的 另见: 使用加法运算符 这个政治公众人物最初是作为一个 建议使用+和+=运算符添加dict。这个选

我是一个新的Python用户,我会有一些疑问

我知道+运算符不仅执行数字之间的求和,还执行字符串或列表之间的串联。为什么字典不允许这样做?

dicts的+运算符如何处理重复键?e、 g

>>> {'d': 2} + {'d': 1}
也许是柜台

还是像一个默认的dict

还是覆盖第一个键,如dict.update

还是只留下第一把钥匙

{'d': 2}
坦率地说,这是模棱两可的

另见:

使用加法运算符

这个政治公众人物最初是作为一个 建议使用+和+=运算符添加dict。这个选择 这被证明是极具争议的,许多人 严重反对经营者的选择。有关详细信息,请参阅 PEP和邮件列表讨论的早期版本

注意Guido自己做的;另请参见。

dicts的+运算符如何处理重复键?e、 g

>>> {'d': 2} + {'d': 1}
也许是柜台

还是像一个默认的dict

还是覆盖第一个键,如dict.update

还是只留下第一把钥匙

{'d': 2}
坦率地说,这是模棱两可的

另见:

使用加法运算符

这个政治公众人物最初是作为一个 建议使用+和+=运算符添加dict。这个选择 这被证明是极具争议的,许多人 严重反对经营者的选择。有关详细信息,请参阅 PEP和邮件列表讨论的早期版本


注意Guido自己做的;另请参见。

在Python 3.9中有一个公认的PEP:

d={'spam':1'鸡蛋':2'奶酪':3}

e={'cheese':'cheddar','aardvark':'Ethel'}

d|e {'spam':1,'鸡蛋':2,'奶酪':'cheddar','aardvark':'Ethel'}

e | d {'aardvark':'Ethel','spam':1,'egs':2,'cheese':3}


Python 3.9中有一个公认的PEP:

d={'spam':1'鸡蛋':2'奶酪':3}

e={'cheese':'cheddar','aardvark':'Ethel'}

d|e {'spam':1,'鸡蛋':2,'奶酪':'cheddar','aardvark':'Ethel'}

e | d {'aardvark':'Ethel','spam':1,'egs':2,'cheese':3}


它可能会被定义,即使这个定义不明显,但实际的答案是因为Python语言的设计者决定不为字典定义+运算符。你可以在这里找到答案:它可能会被定义,即使这个定义不明显,但实际的答案是因为Python语言的设计者决定不为字典定义+运算符。您可以在这里找到答案:添加到这一点:最接近的等价项是dict.update,但请注意,名称是显式更新,表示将替换值,其中+不建议…再加上:最接近的等价项是dict.update,但请注意,名称是显式更新,表示将替换值,而+不建议…
{'d': 2}