#python #data-structures #mapping
#python #структуры данных #сопоставление
Вопрос:
Как моя программа может наилучшим образом представлять перевод между несовершенно подобранными структурами данных?
Мне поручено одностороннее преобразование данных из одной системы в другую. Обе системы установлены, у меня нет возможности изменять их структуры данных.
Если бы структуры соответствовали элементу для элемента, было бы просто перевести:
- Перебор всех входных элементов:
- Преобразование элемента
- Заполнение выходного элемента
(Python имеет хорошую поддержку для итерации коллекций, поэтому, если бы это было так просто, я бы просто определил преобразования на уровне элементов, а затем повторил структуры данных в одном операторе.)
Однако это не сработает, поскольку системы имеют несогласованные структуры данных.
Структуры данных имеют в значительной степени перекрывающиеся корреляции, которые мы обнаружили, но есть много несоответствий; последовательность здесь будет одним элементом там; пара несвязанных элементов здесь будет однородной последовательностью там; и так далее.
Какие инструменты Python могут помочь мне определить сложность сопоставления во всех точках разрозненных структур данных, чтобы перевод описывал всю сложность сопоставления, и все, что нам нужно сделать, это подключить системы на каждом конце?