一尘不染

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

python

我已经看到在Python中实际上有两种(也许更多)串联列表的方法:一种方法是使用extend()方法:

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

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

b += a

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


阅读 136

收藏
2020-12-20

共1个答案

一尘不染

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

除非您要执行数十亿次此操作,否则实际上不必担心。但是,瓶颈可能在其他地方。

2020-12-20