python中的extend和append的区别

如题所述

第1个回答  2017-03-06
实例:
>>> a.extend([1,2])
>>> print a
[1, 2, '3', '1', 1, 2]
>>> a.append([1,2])
>>> print a
[1, 2, '3', '1', 1, 2, [1, 2]]
append和extend都仅只可以接收一个参数,
append 任意,甚至是tuple
extend 只能是一个列表
1. 列表可包含任何数据类型的元素,单个列表中的元素无须全为同一类型。
2. append() 方法向列表的尾部添加一个新的元素。
3. 列表是以类的形式实现的。“创建”列表实际上是将一个类实例化。因此,列表有多种方法可以操作。extend()方法只接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中。

extend的解释没看太明白,琢磨了一下

>>> myList = [1,2.0,'a']
>>> myList
[1, 2.0, 'a']
>>> myList.append('APP')
>>> myList
[1, 2.0, 'a', 'APP']
>>> myList.extend([123,'abc'])
>>> myList
[1, 2.0, 'a', 'APP', 123, 'abc']
>>> myList.append(1,2)
Traceback (most recent call last):
File "<pyshell#69>", line 1, in <module>
myList.append(1,2)
TypeError: append() takes exactly one argument (2 given)
>>> myList.extend([1],[2])
Traceback (most recent call last):
File "<pyshell#70>", line 1, in <module>
myList.extend([1],[2])
TypeError: extend() takes exactly one argument (2 given)
>>>

结果如下:
append和extend都仅只可以接收一个参数,
append 任意,甚至是tuple
extend 只能是一个列表,其实上面已经说清楚了,是自己没看明白。
第2个回答  2016-11-22
给你举个例子你就知道了
append是说在列表的里面可以在增加一个列表,作为其中的一部分,如下:
a = [1,2,3]
b = [4,5]
>>> a.append(b)
>>> a
[1, 2, 3, [4, 5]]

——————————————————
extend则是表示将一个列表并入到另一个列表当中,合并的新列表看不出原有的列表是什么,例如:
>>> a = [1,2,3]
>>> b = [4,5]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5]
>>>
看出区别没
相似回答