【发布时间】:2022-01-12 13:42:54
【问题描述】:
l = list()
l = l + "string" #throws error
l += "string" #works
我只是想知道为什么自从我们被教导l = l + "something" 以来这种奇怪的行为与l += "something" 相同。
【问题讨论】:
-
好吧,唯一明智的结论是:这些不一样,有人教错了。事实上,
+仅适用于列表,而+=则适用于任何可迭代对象。没有太多要说的了。 -
看看
l的内容,你可能会有更好的主意... -
l += x仅在l.__iadd__未定义或定义为等同于l.__add__时等同于l = l + x。 -
您的标题不准确。您不能使用
+=附加字符串;添加到列表中的不是整个字符串,而是字符串中的每个字符。 -
"我们被教导
l = l + "something"与l += "something"相同"你被错误地教导。