たとえば、Pythonでタプル(1,2)と(3,2)を使用している場合、プログラムで0.5または1/2を返す方法はありますか?検索しましたが、何も見つかりませんでした。
質問する
622 次
2 に答える
2
>>> a = (1, 2)
>>> b = (3, 2)
>>> sum(x == y for x, y in zip(a, b)) / float(len(a))
0.5
このfloat()
呼び出しは、整数除算を回避するためにPython2.xでのみ必要です。from __future__ import division
または、ファイルの先頭で使用することもできます。
于 2012-08-03T20:03:45.337 に答える
1
タプルの一般的なペアの場合、おそらく使用する必要がありますset
:
similarity = float(len(set(a).intersection(set(b))))/len(a)
もちろん、を使用len(a)
すると、「類似性」はリレーショナルであり、より適切に定義する必要があることがわかります。
この場合、私は質問に答えました:aの要素のどの部分がbにもありますか?
于 2012-08-03T20:05:09.520 に答える