/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/python/py-502-26-019/main.py
33 строки
870 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
from collections.abc import MutableMapping class TrackedDict(MutableMapping): def __init__(self, *args, **kwargs): self._data = dict(*args, **kwargs) self._changes = [] def __getitem__(self, key): return self._data[key] def __setitem__(self, key, value): action = "update" if key in self._data else "add" self._changes.append((action, key, value)) self._data[key] = value def __delitem__(self, key): old_value = self._data.pop(key) self._changes.append(("delete", key, old_value)) def __iter__(self): return iter(self._data) def __len__(self): return len(self._data) def __repr__(self): return f"TrackedDict({self._data})" def get_changes(self): return self._changes.copy() def clear_changes(self): self._changes.clear()