Separate initialization from clearing.

This commit is contained in:
Raymond Hettinger 2009-03-25 22:41:32 +00:00
parent 2f6f7436aa
commit 2dc90fdfaf
1 changed files with 4 additions and 3 deletions

View File

@ -41,14 +41,15 @@ class OrderedDict(dict, MutableMapping):
try: try:
self.__root self.__root
except AttributeError: except AttributeError:
self.__root = _Link() # sentinel node for the doubly linked list self.__root = root = _Link() # sentinel node for the doubly linked list
self.clear() root.prev = root.next = root
self.__map = {}
self.update(*args, **kwds) self.update(*args, **kwds)
def clear(self): def clear(self):
root = self.__root root = self.__root
root.prev = root.next = root root.prev = root.next = root
self.__map = {} self.__map.clear()
dict.clear(self) dict.clear(self)
def __setitem__(self, key, value): def __setitem__(self, key, value):