连接两个列表 – ‘+=’和extend()之间的区别

问题:

我看到实际上有两种(也许更多)的方法来连接Python中的列表:
一种方法是使用extend()方法:

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

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

b += a

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

回答:

字节码级别的唯一区别是.extend方式涉及一个函数调用,在Python中比INPLACE_ADD稍微贵一些
真的没有什么你应该担心的,除非你执行这个操作数十亿次。然而,可能的瓶颈在于别的地方。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Concatenating two lists – difference between ‘+=’ and extend()

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

24 − = 21