可能重复:
Python中的append()主场迎战+运营商的名单,为什么这些给出不同的结果?
什么是“+”和“附加”在Python列表操作之间的实际差异?
可能重复:
Python中的append()主场迎战+运营商的名单,为什么这些给出不同的结果?
什么是“+”和“附加”在Python列表操作之间的实际差异?
有两个主要区别。 第一个是+
是意为更靠近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]
另外,比较突出的,不同的是,该方法就地工作: extend
实际上是像+=
-事实上,它具有完全相同的行为+=
,但它可以接受任何可迭代的,而+=
只能采取另一种名单。
使用list.append
就地修改列表-其结果是None
。 使用+创建一个新的列表。
>>> L1 = [1,2,3]
>>> L2 = [97,98,99]
>>>
>>> # Mutate L1 by appending more values:
>>> L1.append(4)
>>> L1
[1, 2, 3, 4]
>>>
>>> # Create a new list by adding L1 and L2 together
>>> L1 + L2
[1, 2, 3, 4, 97, 98, 99]
>>> # L1 and L2 are unchanged
>>> L1
[1, 2, 3, 4]
>>> L2
[97, 98, 99]
>>>
>>> # Mutate L2 by adding new values to it:
>>> L2 += [999]
>>> L2
[97, 98, 99, 999]
的+
操作可将数组元素原始数组。 所述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]]
看看这里: Python中的append()主场迎战+运营商的名单,为什么这些给出不同的结果?
+
是产生从两个操作数列出的级联产生的新的列表的二进制运算符。 append
的是,附加到现有的列表中的单个元件的实例方法。
PS你的意思是extend
?