Вычисление сходства двух списков

У меня есть два списка:

например. a = [1,8,3,9,4,9,3,8,1,2,3] и b = [1,8,1,3,9,4,9,3,8,1,2,3]

Оба содержат int. За целыми числами нет смысла (например, 1 не «ближе» к 3, чем к 8).

Я пытаюсь разработать алгоритм для вычисления сходства между двумя ЗАКАЗАННЫМИ списками. Ordered - это ключевое слово прямо здесь (поэтому я не могу просто взять набор обоих списков и вычислить их процент set_difference). Иногда числа повторяются (например, 3, 8 и 9 выше, и я не могу игнорировать повторы).

В приведенном выше примере,функция, которую я бы назвал, скажет мне, например, что a и b примерно на 90% похожи. Как я могу это сделать? На ум пришло расстояние редактирования. Я знаю, как использовать его со строками, но не уверен, как использовать его со списком целых чисел. Спасибо!

19
задан aerain 15 July 2011 в 15:45
поделиться