diff options
-rw-r--r-- | Lib/_abcoll.py | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py index 030bd7a..327b223 100644 --- a/Lib/_abcoll.py +++ b/Lib/_abcoll.py @@ -197,11 +197,24 @@ class Set(metaclass=ABCMeta): return NotImplemented return len(self) < len(other) and self.__le__(other) + def __gt__(self, other): + if not isinstance(other, Set): + return NotImplemented + return other < self + + def __ge__(self, other): + if not isinstance(other, Set): + return NotImplemented + return other <= self + def __eq__(self, other): if not isinstance(other, Set): return NotImplemented return len(self) == len(other) and self.__le__(other) + def __ne__(self, other): + return not (self == other) + @classmethod def _from_iterable(cls, it): '''Construct an instance of the class from any iterable input. @@ -528,13 +541,13 @@ class Sequence(metaclass=ABCMeta): def __iter__(self): i = 0 - while True: - try: + try: + while True: v = self[i] - except IndexError: - break - yield v - i += 1 + yield v + i += 1 + except IndexError: + return def __contains__(self, value): for v in self: |