第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这个元素。

python 如何在数组里加数字 python给数组添加元素_字符串

可以看到,相当于将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']