diff options
author | Benjamin Schwartz <bens@alum.mit.edu> | 2008-02-29 22:40:12 (GMT) |
---|---|---|
committer | Benjamin Schwartz <bens@alum.mit.edu> | 2008-02-29 22:40:12 (GMT) |
commit | 145d3d5e2d3b10662376c73a659e42a8a34973ff (patch) | |
tree | 26ed1a2e95a47327a5ddcb0218933eef661b37f9 /dobject_helpers.py | |
parent | 5c56c76d33f94b504f0fb324835e5e01bfccdd90 (diff) |
Many bugfixes
Diffstat (limited to 'dobject_helpers.py')
-rw-r--r-- | dobject_helpers.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/dobject_helpers.py b/dobject_helpers.py index 2c5ba86..f87c7ed 100644 --- a/dobject_helpers.py +++ b/dobject_helpers.py @@ -165,12 +165,14 @@ class ListSet: if i in someset: L.append(i) self._list = L + return self def __ior__(self, someset): if someset.__class__ == self.__class__: self._list = merge_or(self._list, someset._list) else: self.update(someset) + return self def __isub__(self, someset): if someset.__class__ == self.__class__: @@ -178,9 +180,10 @@ class ListSet: else: L = [] for i in self._list: - if i in someset: + if i not in someset: L.append(i) - self._list = merge_sub(self._list, L) + self._list = L + return self def __iter__(self): return self._list.__iter__() @@ -189,11 +192,8 @@ class ListSet: if someset.__class__ == self.__class__: self._list = merge_xor(self._list, someset._list) else: - L = [] - for i in self._list: - if i in someset: - L.append(i) - self._list = merge_sub(self._list, L) + self.symmetric_difference_update(someset) + return self def __le__(self, someset): if someset.__class__ == self.__class__: @@ -245,14 +245,14 @@ class ListSet: else: L = [] for i in self._list: - if i in someset: + if i not in someset: L.append(i) - a._list = merge_sub(self._list, L) + a._list = L return a def __xor__(self, someset): - a = ListSet() if someset.__class__ == self.__class__: + a = ListSet() a._list = merge_xor(self._list, someset._list) else: a = self.symmetric_difference(someset) |