Tegyük fel, hogy van egy lista néhány szálat, és vannak bizonyos húrok vannak, hogy nagyon, nagyon hasonló. És azt akarom, hogy törölni ezeket szinte ismétli . Az, hogy én találtam ki az alábbi kódot:
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)
Amely úgy tűnik, hogy jól működik, de én nem igazán szeretem a beágyazott hurok és ez count
megoldást rondán néz ki. De talán ez lehet, hogy írd le egy Pythonic módon? Generátor felhasználásával lehet?
Hálás lenne a célzást, köszönöm :)