Disons que j'ai une liste de chaînes, et il y a certaines chaînes là que très, très semblable. Et je veux supprimer ces presque doublons . Pour cela, je suis venu avec le code suivant:
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)
Ce qui semble fonctionner très bien mais je ne vraiment pas comme les boucles imbriquées et aussi cette count
solution semble laid. Mais sans doute il est possible d'écrire d'une manière plus Pythonic? L' utilisation des générateurs, peut - être?
Serait reconnaissant un soupçon, merci :)