gpt4 book ai didi

python - 删除 python 中的列表,getsizeof() 非零?

转载 作者:行者123 更新时间:2023-11-28 22:18:14 28 4
gpt4 key购买 nike

我正在玩 python 列表,我想在不使用列表时从内存中删除它。(我有大数据列表,可能有数千或数百万个元素..数据类型-> 浮点型)

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

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?

为什么会这样?不应该为零吗?有一些开销吗?只是好奇

最佳答案

您没有删除列表,您只是删除了内容。

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

print(sys.getsizeof([])) # 64

每个对象都需要内存空间,直到它被完全删除,即使是空字符串或None

关于python - 删除 python 中的列表,getsizeof() 非零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50660521/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com