2
Я пытаюсь написать расстояние редактирования python, код, который я написал, это только сравнение двух слов, но как насчет того, если я хочу сравнить слово и список слов?Редактировать расстояние строка и список
Вот мой код:
def fdistance(S1,S2):
a = len(S1)
b = len(S2)
fdn = {} # Global dict
for x in range(a+1):
fdn[x,0] = x
for y in range(b+1):
fdn[0,y] = y
for x in range(1,a+1):
for y in range(1,b+1):
if S1[x-1] == S2[y-1]:
c = 0
else:
c = 1
fdn[x,y] = min(fdn[x,y-1]+1, fdn[x-1,y]+1, fdn[x-1,y-1]+c)
return fdn[x,y]
Но это только может напечатать расстояние между строкой и строкой. Мой вопрос: если S2 - это список, то как сравнить строку и список?
Как бы вы сравнить строку и список? Что бы вы ожидали, что выход будет, если входной сигнал 'fdistance ('Hello', [1,2,3])'? –
S2 - список содержит строки. Например: fdistance ('hello', ['halo', 'hallo', 'help']) – Andy
У вас есть расстояние для двух строк. Напишите отдельную функцию для сравнения строки и списка строк. –