列表元素添加有如下三种方法:
方法一: list.insert(index, obj):向list列表指定位置插入一个任意类型(int/float/str/list/tuple/dict)的obj对象,index与obj两个参数均不可缺省,该方法直接修改原列表,无返回值
注意:当插入的boj对象为序列时将作为一个整体进行插入,即:对原列表而言实际只添加了一个元素
方法二:list.append(obj):在列表末尾追加一个任意类型(int/float/str/list/tuple/dict)的obj对象,该方法无返回值直接修改原列表
注意1:append方法只有一个参数,故不可指定位置添加,只能在原列表末尾追加
示例如下(在末尾追加一个str类型对象):
注意2:当append方法追加的是一个可迭代序列(list/tuple/dict),该序列将作为一个整体添加至原列表中,即:对于原列表而方只在末尾追加了一个元素
方法三:list.extend(obj):向list列表末尾追加一个可迭代(str/list/tuple/dict)的序列,该序列将被解包(打散)成独立的元素逐个插入到原列表,该方法无返回值直接修改原列表
注意1:被追加的序列将被解包进入插入
注意2:append方法只能追加可迭代序列
注意3:extend方法追加的对象是一个dict类型时,将只追加字典中的键
总结:
1、只有insert方法可以指定索引位置进行插入,append与extend方法固定只能追加到原列表末尾;
2、insert与append方法均可插入任意类型对象(包括可迭代与不可迭代),而extend方法只能插入可迭代对象;
3、插入的对象是可迭代对象时insert与append方法将被插入的对象视为整体(一个元素)插入到原列表,而extend方法则会将序列解包成独立的多个元素进入插入;
4、extend方法插入的对象是字典时,只将字典中的键插入到原列表,键对应的值不进行插入;