diff options
author | Fred Drake <fdrake@acm.org> | 1997-06-03 13:07:59 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 1997-06-03 13:07:59 (GMT) |
commit | bd40d7e69ffd53f36a315605fc849bb12ae1f55f (patch) | |
tree | ad10c4df063bf8b7747aeff2552a62477d4ab7d4 | |
parent | 36bab7dbafc1efe51e6d20d32be86de0cd0b4b86 (diff) | |
download | cpython-bd40d7e69ffd53f36a315605fc849bb12ae1f55f.zip cpython-bd40d7e69ffd53f36a315605fc849bb12ae1f55f.tar.gz cpython-bd40d7e69ffd53f36a315605fc849bb12ae1f55f.tar.bz2 |
Added the new dictionary methods to the wrapper class.
-rw-r--r-- | Lib/UserDict.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/UserDict.py b/Lib/UserDict.py index f6b2f82..3ee4743 100644 --- a/Lib/UserDict.py +++ b/Lib/UserDict.py @@ -12,7 +12,23 @@ class UserDict: def __getitem__(self, key): return self.data[key] def __setitem__(self, key, item): self.data[key] = item def __delitem__(self, key): del self.data[key] + def clear(self): return self.data.clear() + def copy(self): + if self.__class__ is UserDict: + new = UserDict() + new.dict = self.data.copy() + else: + new = self.__class__() # XXX assumption: constructor signature + for k, v in self.items(): + new[k] = v + return new def keys(self): return self.data.keys() def items(self): return self.data.items() def values(self): return self.data.values() def has_key(self, key): return self.data.has_key(key) + def update(self, other): + if type(other) is type(self.data): + self.data.update(other) + else: + for k, v in other.items(): + self.data[k] = v |