0

たとえば、Pythonでタプル(1,2)と(3,2)を使用している場合、プログラムで0.5または1/2を返す方法はありますか?検索しましたが、何も見つかりませんでした。

4

2 に答える 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 に答える