python列表 list 清空操作之--- [] 和 clear()区别

python的列表清空,实际的普通变量的操作区别倒是不怎么大,但是如果通过列表来达到传参的目的的话,不去弄懂python的列表清空的实际原理,就真的吃大亏了

这里做个记录,因为本人在工作的实际应用中就吃了大亏了,一直使用list列表传参使用,然后用list.clear()清空列表的方式,最后的结果却不是自己想要的!

直接看例子吧

1、使用list列表的原始属性clear()清空操作和初始化操作清空的普通变量对比

在这里插入图片描述
可以看到,两者在正常使用中是没有区别的,都能达到清空列表的目的

再看下通过列表传参的结果!

下面是实际工作中数据处理部分用到的demo示例:

2、通过传参的两者对比

clear()方式清空列表进行传参
在这里插入图片描述
输出为:
在这里插入图片描述
原始初始化[]方式进行传参:
在这里插入图片描述
输出为:
在这里插入图片描述

这里的程序都是一样的,唯一的区别在 clear() 清空和 [] 清空操作不同,而结果却是两个截然不同的,显然使用 [] 是我们需要的结果!

总结

这里造成这样的原因在于他们在底层的操作不一样导致的,

  • list中的clear() 表示清空原有地址内容,而地址却不发生改变,也就是在原地址上进行内容的清空操作,输出结果就把原始内容给覆盖了!
  • 而list = [] 则表示改变原有的地址,地址指向了新的位置,自然内容就不会被覆盖了!

喜欢点个赞呐!
欢迎关注公号<木木夕的算法笔记> 来找我玩吧,mua~
公众号会时不时更新有趣的图像算法哦!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值