1.用法
append()在列表末尾添加新对象,输入参数为对象;
extend()在列表末尾添加另一个序列中的多个值,输入对象为元素队列;
2.相同点
两者都是对列表list进行的操作 具体句法可写为:
list1.append(obj) # list使用时更改为您想要添加新对象的列表名,obj为输入对象 list2.extend(seq) # list2在使用时,将列表名更改为要添加元素序列,seq为元素序列
3.区别
如上所述,append在列表末尾添加新的对象,可以是列表,;而extend在列表末尾添加新的元素序列,这是列表中的特定元素,
4.举例
以下是一个直观的解释的例子
list1 = [1, 2] list2 = [3, 4] list3 = [1, 2] list1.append(list2) # 追加新对象 print(list1) list3.extend(list2) # 添加新元素序列 print(list3)
注意输出结果的差异
[1, 2, [3, 4]] # append的输出结果 [1, 2, 3, 4] # extend的输出结果
注意到extend相当于 但是要注意字典是特殊的,他在用extend时,加入的,而在用append时间,全部加入
list1 = [1, 2] list2 = [1, 2] list1.extend({
'zhangsan': 18, 'lisi': 22}) # 字典(默认key) print(list1) list2.append(
{
'zhangsan'
:
18
,
'lisi'
:
22
}
)
print
(list2
)
这时extend输出结果为仅将“alice”和“amy”加入到list1中,attend输出结果为追加一个字典
# output
[1, 2, 'zhangsan', 'lisi'] # extend
[1, 2, {
'zhangsan': 18, 'lisi': 22}] # append