具有历史记录的 Python 数组数据结构



我最近需要存储大型类似数组的数据(有时是numpy,有时是键值索引(,其值会随着时间的推移而变化(t=1一个元素改变,t=2另一个元素改变,等等(。这段历史需要可访问(在未来的某个时候,我希望能够看到 t=2 的数组是什么样子的(。

一个简单的解决方案是保留所有时间步的数组列表,但这变得过于占用内存。我最终编写了一个小类来处理这个问题,将所有数据"元素"保存在一个字典中,每个元素由 (this_value, timestamp_for_this_value( 列表表示。这让我可以通过查找某个时间 t 之前的最后一次更改来为任意时间戳重新创建内容,但它肯定没有达到应有的效率。

是否有可用于 python 的数据结构本身具有这些属性?还是某种用于此类事情的数据结构?

您是否考虑过编写日志文件? 对内存的良好使用是让数组仅包含当前相关值,但构建在更新语句可以触发日志记录函数的过程中。 此函数可以写入文本文件、数据库或某种数组/字典。 这些类型的审计跟踪在数据库世界中非常普遍。

最新更新