先看一下两段代码的区别,例1中 a = [4] ,例2中 a = 4
L1 = [1, 2, 3]
L2 = [1, 2, 3]
a = [4]
L1.append(a)
L2.extend(a)
print(L1)
print(L2)
# 结果如下:
[1, 2, 3, [4]]
[1, 2, 3, 4]
L1 = [1, 2, 3]
L2 = [1, 2, 3]
a = 4
L1.append(a)
L2.extend(a)
print(L1)
print(L2)
# 结果如下:
[1, 2, 3, 4]
[1, 2, 3, 4]
可见:append()和extend(),当参数为一个数字(参数限制为一个)时,效果无区别;但当参数为一个列表时,二者就有区别了。
不同点:
1、list.append(object) 向列表中添加一个对象object。使用append的时候,是将参数看作一个对象,整体作为一个元素打包添加到指定列表。
2、list.extend(iterable) 把一个可迭代对象的内容迭代添加到列表中。使用extend是将一个可迭代对象中的每个元素逐个地添加到列表中,可迭代对象中有几个元素,添加后的列表就比原列表多几个元素。
相同点:
1、只能作用于list类型(不能作用于tuple等其他类型)
2、单参数限制(不支持多参数)