对于Python列表来说,append() 与 += 相同吗? 我知道+会导致创建一个新的列表,而append()只是将新的内容添加到旧列表中。 但是+=是否被优化为更类似于append()呢?因为它们做的事情相同。
这是一个__iadd__运算符。文档. 重要的是,这意味着它只尝试追加。 "例如,如果x是具有__iadd__()方法的类的实例,则x += y等效于x = x.__iadd__(y)。否则,将考虑x.__add__(y)和y.__radd__(x),就像评估x + y一样。" 此线程专门涉及列表及其iadd行为
+=
连接字符串,更像是extend()
而不是append()
。 - Julien+=
运算符对左操作数进行 原地修改。+
运算符从两个操作数创建一个 新列表,并且两者都不会被原地修改。.append
接受一个 单一元素,将其附加到列表的末尾。因此,+=
的行为类似于.extend
(可能在底层调用相同的函数)。 - juanpa.arrivillaga