l += ...
实际上是调用object.__iadd__(self, other)
和修改对象in-place
时l
是 可变的
原因(如@DeepSpace在他的评论中解释的)是,当您执行
l += {'a':2}*** 作时
l,仅在
l可变的情况下才进行 *** 作更新。另一方面,由于 *** 作
l + {'a': 2}未正确完成,导致
list + dictionary-> TypeError。
(请参阅此处)
l = [1]l = l.__iadd__({'a': 2})l#[1, 'a']
和
+那个电话不一样
object.__add__(self, other)
l + {'B': 3}TypeError: can only concatenate list (not "dict") to list
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)