云上小悟
首页   关于   小悟志   栏目   标签   文章   归档   友链   联系

   云上小悟  +  

清空Python List的三种方式比较

IT通信 / by: 麦新杰 / 发布:2016年11月24日 / 12次阅读 / 暂无评论
标签:我用Python   / 最后修改时间: 2016-12-06 21:53:21

IT通信 / 2016年11月24日 / 12次阅读 / 标签:我用Python  


清空Python List的三种方式比较

Python代码中,有三种方式可以对一个list进行清空,如下:

 

 

以上三种方式各有不同,分析如下:

1, 使用mylist = []这种方式,其实不是清空,而是将mylist重新指向了一个新的内存地址,用函数id()一试便知;这种写法,其实是定义一个list的写法,只有先有定义,后面才能使用mylist[:]=[]这个写法;

2, 使用mylist[:] = []这种方式,是真正的清空,mylist没有指向另外的地址;Python官方教程里面给出的用例,使用的是这种方式;这种方式让你的程序节约内存;

虽然这种方法节约内存,但是要特别注意,如果是这样:

anolist将mylist作为一个元素加入,但是实际上,加入的是id(mylist),后面对mylist进行清空,这个操作同样会影响到anolist的这个元素。

3, 使用del mylist这种方式,也是清空,但是同时删除了mylist这个变量,后面的程序再使用mylist时会出现NameError的异常。

 

关于上面提到的第2点,我们再看看Python中string的情况,string的传递是传值,不是传地址:

 

本文固定链接:http://www.maixj.net/ict/python-list-13658

“清空Python List的三种方式比较”正在等您

发表评论

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

麦新杰的云上小悟独立博客网站文章内容,除非特别注明,全部都是原创,如需转载,请先阅读版权声明!原创文章更具个性,有些文字虽略显随意,但不影响个人思想表达。部分文章是我自己的笔记,为自己记录,总结和收藏,同时也分享给您!这是本博建设的出发点,希望您喜欢并得到您的支持!喝杯茶,慢慢阅读...

©Copyright 麦新杰 SINCE 2014 云上小悟独立博客版权所有  备案号:苏ICP备14045477号-1  

本站360安全检测  Valid CSS!