list - 连接两个列表 - '+=' 和 extend() 之间的区别

我已经看到实际上有两种(也许更多)在 Python 中连接列表的方法:

一种方法是使用 extend() 方法:

a = [1, 2]
b = [2, 3]
b.extend(a)

另一个使用加号(+)运算符:

b += a

现在我想知道:这两个选项中的哪一个是进行列表连接的“pythonic”方式,两者之间有区别吗? (我查阅了官方的 Python 教程,但找不到任何关于此主题的内容)。

最佳答案

字节码级别的唯一区别是 .extend方式涉及一个函数调用,在 Python 中它比 INPLACE_ADD 稍贵一些。 .

除非您执行此操作数十亿次,否则您真的不必担心。然而,瓶颈很可能在其他地方。

关于list - 连接两个列表 - '+=' 和 extend() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3653298/

相关文章:

python - 如何格式化小数以始终显示 2 个小数位?

python - 什么时候 "i += x"与 Python 中的 "i = i + x"不同?

linux - 如何从 iptables 中删除特定规则?

python - 转义正则表达式字符串

linux - Linux 中是否有任何标准的退出状态代码?

linux - 如何在不输入 'screen' 的情况下退出 'exit' ?

windows - Windows 和 Linux 目录名称中禁止使用哪些字符?

python - cron 和 virtualenv

linux - 在每行的开头添加前缀字符串

python - 在多个模块中使用日志记录