Для двух списков, например,
l1 = ["A","D","B","C"]
l2 = ["X","A","Y","B"]
Я хочу, чтобы результат сохранял порядок, заданный обоими входными списками, т.е.
["X","A","D","Y","B","C"]
Результат не уникален как "D" и " Y "также можно переключить (но если это не ясно, лексикографи c порядок должен разрешить конфликт) Также, если бы у меня было что-л. например,
l1 = ["B","A"]
l2 = ["X","A","Y","B"]
позиции B или A должны обрабатываться взаимозаменяемо (т.е. не может быть создан уникальный порядок, а порядок B A должен рассматриваться как A = B), что приведет к к принятым результатам
["X","A","Y","B"]
(желательно как в детерминированном c лексикографическом c порядке A и B) или
["X","B","Y","A"]
Другими словами Я хочу комбинацию списков, чтобы сохранить порядок, если он уникален, а где нет, результат должен быть детерминированным c например, в соответствии с лексикографией c упорядочением.
Есть ли библиотека для python, которая выполняет это, или я бы придется реализовать это самостоятельно? Я посмотрел на OrderedDict и OrderedSet, но оба они не обрабатывают слияние, как я хочу.