gpt4 book ai didi

python - 为什么在调用 .clear() 后字典大小为 72 字节,而实例化时为 240 字节?

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:05 31 4
gpt4 key购买 nike

字典大小为 72 字节(根据 getsizeof(dict) 在字典上调用 .clear() 之后发生了什么,当新实例化的字典返回 240 字节时?

我知道一个简单的 dict 的起始大小为“8”,并在填充度达到 66% 左右时自行调整大小,这与调用 clear 后的大小有关吗?

我正在研究字典,发现这很有趣,到底发生了什么?

>>> from sys import getsizeof
>>> dict = {}
>>> getsizeof(dict)
240
>>> dict.clear()
>>> getsizeof(dict)
72
>>>

最佳答案

假设我们正在谈论 CPython,您的直觉是正确的。创建新字典时,键空间 is allocated在大小为 PyDict_MINSIZEdict_new 中.这会消耗内存。当调用 .clear() 时,keyspace is re-wired到静态分配的空键空间,使字典真正为空。

关于python - 为什么在调用 .clear() 后字典大小为 72 字节,而实例化时为 240 字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55889886/

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