擅长:python、mysql、java
<p>您可以使用<code>itertools.combinations</code>来获得所有的组合,然后使用<code>sum</code>,直接计算组合的数量,而不是计数。在</p>
<pre><code>def compare_strings(mylist):
if len(mylist) < 2: return 0.0
total = sum(SequenceMatcher(None, a, b).ratio() for a, b in combinations(mylist, 2))
cnt = (len(mylist) * (len(mylist)-1)) // 2
return total / cnt
</code></pre>