Я работаю с DeepDiff. Поэтому у меня есть такие результаты:Parsing DeepDiff результат
local = [{1: {'age': 50, 'name': 'foo'}}, {2: {'age': 90, 'name': 'bar'}}, {3: {'age': 60, 'name': 'foobar'}}]
online = [{1: {'age': 50, 'name': 'foo'}}, {2: {'age': 40, 'name': 'bar'}}]
ddiff = DeepDiff(local, online)
added, updated = ddiff['iterable_item_added'], ddiff['values_changed']
added = {'root[2]': {3: {'age': 60, 'name': 'foobar'}}}
updated = {"root[1][2]['age']": {'new_value': 90, 'old_value': 40}}
Теперь, я хочу взять:
list_indexes_added = foo(added)
list_indexes_updated = foo(updated)
и получить:
list_indexes_added = [2]
list_index_updated = [(1,2,'age')]
таким образом, я могу управлять списком local
и online
и в будущем обновить таблицу online
.
Я думаю в регулярных выражениях, но, возможно, есть другой вариант.