Перевод данных между несогласованными структурами данных

#python #data-structures #mapping

#python #структуры данных #сопоставление

Вопрос:

Как моя программа может наилучшим образом представлять перевод между несовершенно подобранными структурами данных?

Мне поручено одностороннее преобразование данных из одной системы в другую. Обе системы установлены, у меня нет возможности изменять их структуры данных.

Если бы структуры соответствовали элементу для элемента, было бы просто перевести:

  • Перебор всех входных элементов:
    • Преобразование элемента
    • Заполнение выходного элемента

(Python имеет хорошую поддержку для итерации коллекций, поэтому, если бы это было так просто, я бы просто определил преобразования на уровне элементов, а затем повторил структуры данных в одном операторе.)

Однако это не сработает, поскольку системы имеют несогласованные структуры данных.

Структуры данных имеют в значительной степени перекрывающиеся корреляции, которые мы обнаружили, но есть много несоответствий; последовательность здесь будет одним элементом там; пара несвязанных элементов здесь будет однородной последовательностью там; и так далее.

Какие инструменты Python могут помочь мне определить сложность сопоставления во всех точках разрозненных структур данных, чтобы перевод описывал всю сложность сопоставления, и все, что нам нужно сделать, это подключить системы на каждом конце?