Я бы хотел «объединить» две (обычно очень похожие) многострочные строки (близко к тому, что делает git
, когда объединяет изменения в файлах).
Что-то вроде
>>> combine([
'Hello,',
'this is a text hat has been altered on one place',
'while altered differently on another',],[
'Hello,',
'this is another text hat has been altered on a different place',
'while altered differently on another',])
['Hello,',
'this is another text hat has been altered on a different place',
'this is a text hat has been altered on one place',
'while altered differently on another',]
У меня недостаточно информации для трехсторонней разницы, поэтому я хотел бы найти сходства и убедиться, что ни одна строка не потеряна.
Я нашел несколько ручных подходов с использованием set
и скоро. Но мне нужен способ сохранить порядок , аналогичные разделы и множественные вхождения идентичных (т. Е. Пустых) строк.
Есть ли 'pythoni c' ( Короче, элегантно, изощренно) как это сделать?