我最近需要存储类似大型数组的数据(有时为numpy,有时为键值索引),其值会随着时间而变化(t = 1一个元素更改,t = 2另一个元素更改,等等)。此历史记录需要可访问(将来的某个时候,我希望能够看到t = 2的数组是什么样的)。
一个简单的解决方案是为所有时间步长保留一个数组列表,但这会占用大量内存。我最终写了一个小类,通过将所有数据“元素”保留在字典中来处理此问题,每个元素都由(this_value,timestamp_for_this_value)列表表示。这让我可以通过寻找某个时间t之前的最后一次更改来为任意时间戳重新创建事物,但是它肯定没有它本来应该有的效率。
是否有可用于python的数据结构,这些结构本身具有这些属性?还是某种类型的数据结构意味着这种事情?
答案 0 :(得分:1)
您是否考虑过编写日志文件?内存的一种好用法是使数组仅包含当前的相关值,但建立在更新语句可以触发日志记录功能的过程中。该功能可以写入文本文件,数据库或某种数组/字典。这些类型的审计跟踪在数据库世界中非常普遍。