私が使用したコードは次のとおりです。
>>> a = set([1,2,2])
>>> b = set([1,1,2])
>>> a
{1, 2, 2}
>>> b
{1, 1, 2}
>>> a <= b
True
>>> a.__le__(b)
True
明らかa
に のサブセットではありませんb
。Set
また、collections.py のドキュメント コードを見ると、クラスのドキュメント文字列にあるように、これは非常に重要なことなので、少し心配です。
"""...
To override the comparisons (presumably for speed, as the
semantics are fixed), all you have to do is redefine __le__ and
then the other operations will automatically follow suit."""
他のすべてのメソッドは を使用します__le__
。それで、私はこれで一人ですか?