python清空内存但不新增对象

在python里,我们时常这么清空一个对象占用的内存:

a = [1,2,3]
a = []
b = {'school': 'hust'}
b = {}

通过id()函数,可以知道,其实是创建了新的list和dict对象,原来的对象只是引用计算减一,内存还在,合适的时候会被释放。

假如我们还希望使用原来的对象,只是清空其所拥有的元素,而并不希望再创建新的list或者dict对象,怎么办呢?

对于list有两种写法:

a[:] = []
del(a[:])

对于dict,可以直接使用成员方法:

b.clear()

理论上讲,这样应该更高效,更节省内存,但我并没有实测过。

发表于2017-03-14 11:08   修改于2017-03-14 11:08   评论:0   阅读:233  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo