对于Python列表,append()
与+=
相同吗?
我知道+
会导致创建新列表,而append()
只是将新内容附加到旧列表中。
但是,+=
是否会被优化为与append()
更相似?因为他们做同样的事情。
答案 0 :(得分:1)
这是一个__iadd__
运算符。 Docs.
重要的是,这意味着仅重试即可添加。 “例如,如果x是具有__iadd__()
方法的类的实例,则x += y
等效于x = x.__iadd__(y)
。否则,将考虑x.__add__(y)
和y.__radd__(x)
,与x + y
的评估一样。”
This thread specifically deals with lists and their iadd behavior