我遇到了一个奇怪的行为,找不到解释。
MWE:
MWE:
l = [1]
l += {'a': 2}
l
[1, 'a']
l + {'B': 3}
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: can only concatenate list (not "dict") to list
基本上,当我使用+=
时,Python不会引发错误并将键值添加到列表中,而当我只计算+
时,它会产生预期的TypeError
。
注意:这是Python 3.6.10。
+=
等被称为“增强赋值”,来自引入它们的 PEP 203。 - alkasm