]> granicus.if.org Git - python/commitdiff
Merge r60674 an 60675.
authorRaymond Hettinger <python@rcn.com>
Sat, 9 Feb 2008 00:08:16 +0000 (00:08 +0000)
committerRaymond Hettinger <python@rcn.com>
Sat, 9 Feb 2008 00:08:16 +0000 (00:08 +0000)
Lib/_abcoll.py

index 030bd7a97e0b000d6b0ac65cd1c0f886654a75db..327b223b44010b4dd951bb9006895dac57ebbac0 100644 (file)
@@ -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: