首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否删除python中的列表,getsizeof()不为零?

是否删除python中的列表,getsizeof()不为零?
EN

Stack Overflow用户
提问于 2018-06-03 03:40:06
回答 2查看 59关注 0票数 2

我正在使用python列表,我想在不使用它的时候从内存中删除一个列表。(我有一个很大的数据列表,可能有几千或几百万的elements..data类型-> float)

我尝试了这段代码,看看在python中删除是如何工作的(示例)。

代码语言:javascript
复制
import sys
array=[[12,34,54],[23,45,54,67]]
print(sys.getsizeof(array))  # it gives me result 80

#then
del(array[:])
print(sys.getsizeof(array)) #it gives me result 64?

为什么会发生这种情况?它不应该是零吗?有什么开销吗?只是好奇

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-03 03:48:39

你不是在删除列表,你只是在删除内容。

64只是一个空列表在内存中的大小:

代码语言:javascript
复制
print(sys.getsizeof([])) # 64

每个对象都需要内存中的空间,直到它被完全删除,甚至是一个空字符串或None

票数 3
EN

Stack Overflow用户

发布于 2018-06-03 03:45:20

只管去做

代码语言:javascript
复制
del array

而不是

代码语言:javascript
复制
del(array[:])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50660521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档