Lassen Sie uns sagen , dass ich eine Liste von einigen Strings haben, und es gibt es bestimmte Zeichenketten, die sehr, sehr ähnlich. Und ich möchte diese löschen fast Duplikate . Dafür kam ich mit dem folgenden Code auf:
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)
Welche scheint gut zu funktionieren , aber ich weiß nicht wirklich wie verschachtelte Schleifen und auch diese count
Lösung sieht hässlich aus . Aber wahrscheinlich ist es möglich , sie in einer Pythonic Weise aufzuschreiben? Mit Generatoren, sein kann?
Wäre dankbar für einen Hinweis, Dank :)