0

2 つの int 値のセットを 1 つの値として表現したいので、次のようにすることができます。

x = f(a,b) = f(b,a)

したがって、x は複数のセットを表してはなりません。

助けてください。

4

2 に答える 2

1

タイプはハッシュ可能で、任意のfrozensetイテラブルから作成できます。ハッシュ値を取得するには、組み込みhash関数を使用します。

x = hash(frozenset([a, b]))
于 2012-11-20T11:26:18.673 に答える
0

x の値として整数を使用したくない場合は、順序付けられたタプルを返すことで問題ないと思います (値のすべての数に対して機能します)。

>>> s = {1, 2}
>>> s2 = {2, 1}
>>> f = lambda s: tuple(sorted(s))
>>> f(s)
(1, 2)
>>> f(s2)
(1, 2)
>>> f(s) == f(s2)
True
于 2012-11-20T11:06:13.100 に答える