Python 第三节 第五课

[toc]

列表元素的增加和删除

    当列表增加和删除元素是, 列表会自动进行内存管理, 大大减少了程序员的负担. 但这个特点涉及列表元素的大量移动, 效率较低. 除非必要, 我们一般只在列表的尾部添加元素或删除元素, 这会大大提高列表的操作效率.

append() 方法

    原地修改列表对象, 是真正的列表尾部添加新的元素, 速度最快, 推荐使用.

    >>>  a = [20, 40]

    >>>  a.append(80)

    >>>  a

    [20, 40, 80]

+ 运算符操作

并不是真正的尾部添加元素, 而是创建新的对象. 将原列表的元素和新列表的元素一次复制到新的列表对象中. 这样会涉及大量的复制操作, 对于操作大量元素不建议使用.

>>> a = [20, 40]

>>> id(a)

46016072

>>> a = a + [50]

>> id(a)

46015432

通过如上测试, 我们发现变量 a 的地址发生了变化. 也就是创建了新的列表对象.

extend() 方法

将目标列表所有元素添加本列表的尾部, 属于原地操作, 不创建新的列表对象.

>>> a = [20, 40]

>>> id(a)

46016072

>>> a.extend([50,60])

>>> id(a)

46016072

insert() 插入元素

使用 insert() 方法可以将指定的元素插入到列表对象的任意制定位置. 这样会让插入位置后面所有的元素进行移动, 会影响处理速度. 涉及大量元素时,尽量避免使用. 类似发生这种移动的函数还有: remove(), pop(), del(), 它们在删除非尾部元素时也会发生操作位置后面元素的移动.

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值