Python:如何使用结构来打包和解包对对象的引用?

标签 python python-3.x struct reference pack

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

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

列表中的项目是“引用”,所以我猜它就像一个无符号整数列表,我错了吗?

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

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

最佳答案

list 内部已经是一个“整数”(指针)数组; struct 无法以任何简单或重要的方式压缩它,这样做会干扰 Python 的垃圾收集。

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

关于Python:如何使用结构来打包和解包对对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55114246/

相关文章:

Python 组合数学,第 2 部分

python - Eventlet+Gunicorn 工作线程包含哪些内容?

python - 如何找到字符串的可能组合总数?

swift - 如果结构项等于 nil

struct - 有没有办法强制转换结构以通过 channel 发送

python - 如何在Python中停止单个多处理进程?

Python venv(虚拟环境)使用了错误的 Python 版本

python - 引用之前python的计算?

matlab - 通过 Matlab 中的另一个结构更新结构

python - 如何在 Python 3 中创建在封闭域上定义的函数?