Python excluir da lista enquanto itera

Tenho uma lista de strings e quero manter apenas as strings mais exclusivas. Aqui está como eu implementei isso (talvez haja um problema com o loop),

def filter_descriptions(descriptions):
    MAX_SIMILAR_ALLOWED = 0.6  #40% unique and 60% similar
    i = 0
    while i < len(descriptions):
        print("Processing {}/{}...".format(i + 1, len(descriptions)))
        desc_to_evaluate = descriptions[i]
        j = i + 1
        while j < len(descriptions):
            similarity_ratio = SequenceMatcher(None, desc_to_evaluate, descriptions[j]).ratio()
            if similarity_ratio > MAX_SIMILAR_ALLOWED:
                del descriptions[j]
            j += 1
        i += 1
    return descriptions

Observe que a lista pode ter cerca de 110 mil itens e é por isso que reduzi a lista a cada iteraçã

lguém pode identificar o que há de errado com esta implementação atua

Edit 1:

Os resultados atuais são "muito semelhantes". Ofilter_descriptions função @ retornou 16 itens (de uma lista de ~ 110 mil itens). Quando tentei o seguinte,

SequenceMatcher(None, descriptions[0], descriptions[1]).ratio() 

A proporção era de 0,99 e comSequenceMatcher(None, descriptions[1], descriptions[2]).ratio() era em torno de 0,98. Mas comSequenceMatcher(None, descriptions[0], descriptions[15]).ratio() foi em torno de 0,65 (o que é melhor)

Eu espero que isso ajude

questionAnswers(3)

yourAnswerToTheQuestion