orderedset icon indicating copy to clipboard operation
orderedset copied to clipboard

Strange behavior of superset and subset

Open erumoico opened this issue 6 years ago • 0 comments

If something is not subset, then it cannot be sure is superset or not, it must be tested

https://github.com/simonpercivall/orderedset/blob/9b830754d1f13f6d844b90d24e664b377d1da84c/lib/orderedset/_orderedset.pyx#L505

>>> {1}.issubset({2, 3}) False >>> {1} <= {2, 3} False >>> OrderedSet([1]).issubset(OrderedSet([2, 3])) False >>> OrderedSet([1]) <= OrderedSet([2, 3]) False

>>> {1}.issuperset({2, 3}) False >>> {1} >= {2, 3} False >>> {1} > {2, 3} False >>> OrderedSet([1]).issuperset(OrderedSet([2, 3])) False >>> OrderedSet([1]) >= OrderedSet([2, 3]) True >>> OrderedSet([1]) > OrderedSet([2, 3]) True

Edit: Oh, this may be solved by pull https://github.com/simonpercivall/orderedset/pull/22

Compare between OrderedSet and set

>>> OrderedSet([1]).issubset({3}) False >>> OrderedSet([1]).issuperset({3}) # What is return {3} <= OrderedSet([1]), but… True >>> {3} <= OrderedSet([1]) True >>> {3}.issubset(OrderedSet([1])) False >>> {3}.issuperset(OrderedSet([1])) False

Compare between OrderedSet and list

>>> OrderedSet([1]).issuperset([3]) True >>> OrderedSet([1]).issubset([3]) True https://github.com/simonpercivall/orderedset/blob/9b830754d1f13f6d844b90d24e664b377d1da84c/lib/orderedset/_orderedset.pyx#L495 It may be: isinstance(other, (Set, list))

erumoico avatar Aug 01 '19 10:08 erumoico