Řekněme, že mám seznam některých řetězců, a tam jsou některé struny tam, že velmi, velmi podobné. A já chci, aby odstranit tyto téměř duplikáty . Za to, že jsem přišel s následující kód:
from difflib import SequenceMatcher
l = ['Apple', 'Appel', 'Aple', 'Mango']
c = [l[0]]
for i in l:
count = 0
for j in c:
if SequenceMatcher(None, i, j).ratio() < 0.7:
count += 1
if count == len(c):
c.append(i)
Který se zdá, že funguje, ale já to opravdu jako vnořené smyčky a také toto count
řešení vypadá ošklivě. Ale pravděpodobně je možné napsat to ve více Pythonic způsobem? Pomocí generátorů, může být?
Bych vděčný za náznak, díky :)