1、定义:
append()用于在列表末尾添加新的对象,输入参数为对象;
extend()用于在列表末尾追加另一个序列中的多个值,输入对象为元素队列;
2、语法:
(obj) # obj为输入对象
(seq) # seq为元素列表
3、差别:
举个例子来说明append和extend的差别。分别用字符串、列表、字典作为append和extend的输入:
my_list = ['abc', '123']
my_list.extend('456') # 字符串
my_list.extend(['alice', 18]) # 列表
my_list.extend({'alice': 18, 'amy': 22}) # 字典(默认key)
print('extend输出结果:', my_list)
my_list = ['abc', '123']
my_list.append('456') # 字符串
my_list.append(['alice', 18]) # 列表
my_list.append({'alice': 18, 'amy': 22}) # 字典(默认key)
print('append输出结果:', my_list)
得到结果:
extend输出结果: ['abc', '123', '4', '5', '6', 'alice', 18, 'alice', 'amy']
append输出结果: ['abc', '123', '456', ['alice', 18], {'alice': 18, 'amy': 22}]
可以看到append是将输入对象添加到列表末尾;而extend则是将输入对象的可迭代对象添加到列表末尾。
当然,可以通过迭代的方式用append实现extend的效果,只是效果差别较大