第36课时: 列表 元素的5种添加、删除方式效率问题
列表元素的增加和删除:
增加或删除列表会让电脑进行一些内存操作。
所以:一般只在列表尾部添加删除数值,如果再中部操作会让电脑进行 大量的 内存 搬运拷贝 运算
1 append()方法:
由于是在列表 尾部 添加元素,速度最快,最推荐的方法:
代码:
>>> a=[20,40]
>>> a.append(40)
>>> a
[20, 40, 40]
2 +法运算 方法(拼接操作):
不是真正的在尾部添加,而是创建新的列表对象!!!注意。
对于大量数据的操作,尽量不要使用这个操作。
试验代码:
>>> a=[20,30]
>>> id(a)
2604743729736
>>> a=a+[60]
>>> id(a)
2604746713992
可以看到经过加法运算后的a地址(id)发生改变了。
3 extend()运算 方法:
定义:将目标列表所有元素添加到本列表的尾部,属于原地操作。不创建新的列表对象。
试验代码:
>>> a=[20,40]
>>> id(a)
2604746713992
>>> a.extend([50,40,70])
>>> id(a)
2604746713992
可以发现a的地址没有变,在原地扩展,没有新创建,效率高。
4 insert()插入 方法:
用法,用于将指定元素插
代码格式: list. insert( 插入的偏移数 , 插入元素 )
代码:
>>> a=[20,30]
>>> a.insert(2,100)
>>> a
[20, 30, 100]
>>> a.insert(2,50)
>>> a
[20, 30, 50, 100]
5 * 乘法扩展 方法:
代码:
>>> a=[20,30]
>>> a=a*3
>>> a
[20, 30, 20, 30, 20, 30]
第37课时: 列表 元素删除的三种方式删除本质是数组元素拷贝
列表元素删除
1 del删除
删除指定位置的列表元素:
格式: del list[元素的偏移位置]
代码:
>>> a=[20,30]
>>> del a[1]
>>> a
[20]
机器删除运算拷贝示意图:
例子,比如我们先生成一个列表
a=[100,200,888,300,400]
然后del a【2】888这个元素。
可以看到,相当于将300拷贝到888的位置。 400拷贝到300的位置
所以,删除相当于数据的拷贝。
2 pop()方法
Pop()删除并 返回 指定位置的元 素。如果没有指定位置,那么默认就是最后一个元素。
代码:
>>> a=[20,30,40]
>>> b=a.pop()
>>> b
40
>>> a
[20, 30]
b就是删除的那个元素,相当一将一个元素从a中弹出,并丢给b
指定位置弹出删除代码:
>>> a=[20,30,40]
>>> a.pop(2)
40
>>> a
[20, 30]
可以看到将偏移位置为2的元素40弹出删除
3 remove()方法
删除首次出现的指定元素,若没有这个元素,则抛出异常。
>>> a=[20,30,20,40,50,40,6,0]
>>> a.remove(20)
>>> a
[30, 20, 40, 50, 40, 6, 0]
可以看到将第一个20删除了
删除字符串:
>>> a=['aa','mm','n25']
>>> a.remove('aa')
>>> a
['mm', 'n25']