Мне недавно потребовалось хранить большие массивоподобные данные (иногда пустые, иногда индексированные по значению ключа), значения которых будут меняться с течением времени (t = 1, изменяется один элемент, t = 2, изменяется другой элемент и т. Д.). Эта история должна была быть доступной (когда-нибудь в будущем я хочу увидеть, как выглядит массив t = 2).
Простое решение состояло в том, чтобы сохранить список массивов для всех временных шагов, но это стало слишком интенсивным объемом памяти. В итоге я написал небольшой класс, который обрабатывал это, сохраняя все «элементы» данных в поле, где каждый элемент представлен списком (this_value, timestamp_for_this_value). это позволило мне воссоздать вещи для произвольных временных отметок, ища последнее изменение до некоторого времени t, но оно, безусловно, было не таким эффективным, как могло бы быть.
Существуют ли структуры данных, доступные для python, которые имеют эти свойства изначально? Или какой-то класс структуры данных, предназначенный для такого рода вещей?