Teach the sets module to correctly compute s-=s and s^=s as the empty set.

This commit is contained in:
Raymond Hettinger 2005-08-13 02:29:58 +00:00
parent f98e6b15ba
commit 038ca2a551
2 changed files with 17 additions and 0 deletions

View file

@ -480,6 +480,8 @@ class Set(BaseSet):
value = True
if not isinstance(other, BaseSet):
other = Set(other)
if self is other:
self.clear()
for elt in other:
if elt in data:
del data[elt]
@ -497,6 +499,8 @@ class Set(BaseSet):
data = self._data
if not isinstance(other, BaseSet):
other = Set(other)
if self is other:
self.clear()
for elt in ifilter(data.has_key, other):
del data[elt]