2 つの int 値のセットを 1 つの値として表現したいので、次のようにすることができます。
x = f(a,b) = f(b,a)
したがって、x は複数のセットを表してはなりません。
助けてください。
2 つの int 値のセットを 1 つの値として表現したいので、次のようにすることができます。
x = f(a,b) = f(b,a)
したがって、x は複数のセットを表してはなりません。
助けてください。
タイプはハッシュ可能で、任意のfrozenset
イテラブルから作成できます。ハッシュ値を取得するには、組み込みhash
関数を使用します。
x = hash(frozenset([a, b]))
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