我有一个对象列表,例如:
L = [<CustomObject object at 0x101992eb8>, <CustomObject object at 0x101763908>, ...]
列表中的项目是“引用”,所以我猜它就像一个无符号整数列表,我错了吗?
为了看看是否可以节省一些内存,我想使用 struct 模块来打包这个列表。
这可能吗?如果是的话该怎么做? (除非你确定我不会这样节省内存)
最佳答案
list
内部已经是一个“整数”(指针)数组; struct
无法以任何简单或重要的方式压缩它,这样做会干扰 Python 的垃圾收集。
CustomObject
(如果它们是唯一的)占用的内存是两倍以上,接近一百倍,除非您为类使用 __slots__
。
关于Python:如何使用结构来打包和解包对对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55114246/