lvc*_*lvc 19

有两个主要区别.首先是+在意义上更接近extend,而不是append:

>>> a = [1, 2, 3]
>>> a + 4
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    a + 4
TypeError: can only concatenate list (not "int") to list
>>> a + [4]
[1, 2, 3, 4]
>>> a.append([4])
>>> a
[1, 2, 3, [4]]
>>> a.extend([4])
>>> a
[1, 2, 3, [4], 4]
Run Code Online (Sandbox Code Playgroud)

另一个更突出的区别是方法就地工作:extend实际上就像+=- 事实上,它具有完全相同的行为,+=除了它可以接受任何可迭代,而+=只能采用另一个列表.


Jon*_*nts 8

使用list.append修改列表 - 结果是None.使用+创建一个新列表.

  • +1,这很重要,因为列表是可变的。使用“+”创建一个新列表而不更改原始列表,并且您应该知道是否打算更改原始列表。 (2认同)

use*_*064 0

+操作将数组元素添加到原始数组中。该 array.append操作将数组(或任何对象)插入到原始数组的末尾。

[1, 2, 3] + [4, 5, 6] // [1, 2, 3, 4, 5, 6]

b = [1, 2, 3]
b.append([4, 5, 6]) // [1, 2, 3, [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)

看看这里:Pythonappend() vs.+operatoronlists,为什么它们给出不同的结果?