Python:如何使用struct打包和解压缩对对象的引用?

时间:2019-03-12 04:35:48

标签: python python-3.x struct reference pack

我有一个对象列表,例如:

L = [<CustomObject object at 0x101992eb8>, <CustomObject object at 0x101763908>, ...]

列表中的项目是“引用”,所以我想这就像无符号整数列表,对吗?

为了查看是否可以节省一些内存,我想使用struct模块打包此列表。

这可能吗?如果是的话,该怎么做? (除非您确定我不会像这样节省内存)

1 个答案:

答案 0 :(得分:1)

list内部已经是一个“整数”(指针)数组; struct不能以任何简单或有效的方式进行压缩,否则会干扰Python的垃圾回收。

CustomObject(如果它们是唯一的)占用的内存是原来的两倍多-接近一百倍,除非您为类使用__slots__