Nehmen wir an, ich habe eine Liste von einigen Strings, und dort gibt es bestimmte Strings, die sehr, sehr ähnlich sind. Und ich möchte diese fast Duplikate löschen. Dafür kam ich mit dem folgenden Code auf:Python: Löschen von ähnlichen Objekten aus einer Liste mit difflib.SequenceMatcher
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 gut zu funktionieren scheint, aber ich weiß nicht wirklich wie verschachtelte Schleifen und auch diese count
Lösung sieht hässlich aus. Aber wahrscheinlich ist es möglich, es auf eine pythonischere Art und Weise zu schreiben? Generatoren verwenden, kann sein?
Wäre für einen Hinweis dankbar, danke :)
Ich denke, das wäre besser auf [CodeReview] (https://codereview.stackexchange.com/). –