リスト内の他のdictと重複または類似している可能性のあるプロパティを持つdictのリストがあります。このリストを一意にするために、類似度比較関数を使用したいと思います。いずれかの dict の値が、キー「greeting」に対して一定の割合内で互いに類似している場合は、1 つだけを保持する必要があります。
たとえば、このリストでは、「hello world」の 1 つだけを残します。
list = [{"greeting":"HELLO WORLD!", ...}, {"greeting":"Hello Mars", ...}, {"greeting":"Hello World!!!", ...}, {"greeting":"hello world", ...}]
一意化した後、結果は次のようになります。
list = [{"greeting":"HELLO WORLD!", ...}, {"greeting":"Hello Mars", ...}
同様の挨拶を持つ他のすべてのディクテーションは、リストから削除する必要があります。同様の辞書のどれが保持されているかは問題ではありません。
Nadia Alramliによる関数は次のとおりです。
def similar(seq1, seq2):
return difflib.SequenceMatcher(a=seq1.lower(), b=seq2.lower()).ratio() > 0.9