Python列表的+=运算符等同于append()还是extend()?

3

Python列表有一个 += 运算符和 appendextend 方法。

如果 l 是一个列表,那么 l += ... 等同于 l.append(...)l.extend(...),两者都是还是都不是?


2
你试过了吗?l += 4会报错;l += [4]会把4添加到列表中。 - zondo
您可以通过将各种表达式输入Python解释器中来了解它们的求值结果。随意尝试不同的操作(我经常这样做;这很有帮助)。 - TigerhawkT3
3
当应用于列表时,+= 的作用与 extend 大致等效,但在函数上下文中缺少 globalnonlocal 的情况下可能存在一些微妙的作用域差异。在这种情况下,+= 将强制创建一个局部变量,而 extend 不会。 - Tom Karzes
1个回答

11
在Python中,对列表执行+=操作等同于在该列表上调用extend方法。

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