import Levenshtein #print(Levenshtein.distance("eesti riik", "eesti rik")) #m=open("loc_new_names_freq.txt", encoding="utf-8").readlines() m=open("loc_known_names_freq.txt", encoding="utf-8").readlines() m=[rida.split(";")[:3] for rida in m[1:]] m.sort(key=lambda rida: -int(rida[2])) m=list(filter(lambda rida: int(rida[2])>=5, m)) #print(m[-10:]) #print(len(m)) m2=open("kohanimed_eki/eeknab.dat", encoding="utf-8").readlines() m2=[r.split("|")[0].lower() for r in m2] m3=open("kohanimed_eki/mknab.dat", encoding="utf-8").readlines() m3=[r.split("|")[0].lower() for r in m3] print(m2[:5]) def otsiVastedEesti(koht): algused=[] lahedused=[] for kvaste in m2: if kvaste==koht: algused.append(kvaste) elif kvaste.startswith(koht): algused.append(kvaste) if Levenshtein.distance(koht, kvaste) ==1: lahedused.append(kvaste) if len(koht)>5 and Levenshtein.distance(koht, kvaste) ==2: lahedused.append(kvaste) return algused+lahedused def otsiVastedValismaa(koht): algused=[] lahedused=[] for kvaste in m3: if kvaste==koht: algused.append(kvaste) elif kvaste.startswith(koht): algused.append(kvaste) if Levenshtein.distance(koht, kvaste) ==1: lahedused.append(kvaste) if len(koht)>5 and Levenshtein.distance(koht, kvaste) ==2: lahedused.append(kvaste) return algused+lahedused for rida in m: v=otsiVastedEesti(rida[0]) print(rida[0], rida[2], v) v=otsiVastedValismaa(rida[0]) print(rida[0], rida[2], v)