Python列表:append与+=的区别

3
对于Python列表来说,append()+= 相同吗? 我知道+会导致创建一个新的列表,而append()只是将新的内容添加到旧列表中。 但是+=是否被优化为更类似于append()呢?因为它们做的事情相同。

7
它们并不做相同的事情。+=连接字符串,更像是extend()而不是append() - Julien
它们不同,请查看详细信息以获取重复内容。 - Vaibhav Vishal
+= 运算符对左操作数进行 原地修改+ 运算符从两个操作数创建一个 新列表,并且两者都不会被原地修改。.append 接受一个 单一元素,将其附加到列表的末尾。因此,+= 的行为类似于 .extend(可能在底层调用相同的函数)。 - juanpa.arrivillaga
1个回答

1

这是一个__iadd__运算符。文档.

重要的是,这意味着它只尝试追加。 "例如,如果x是具有__iadd__()方法的类的实例,则x += y等效于x = x.__iadd__(y)。否则,将考虑x.__add__(y)y.__radd__(x),就像评估x + y一样。"

此线程专门涉及列表及其iadd行为


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接