Separate initialization from clearing.
diff --git a/Lib/collections.py b/Lib/collections.py
index 4f3f726..002ce97 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -41,14 +41,15 @@
try:
self.__root
except AttributeError:
- self.__root = _Link() # sentinel node for the doubly linked list
- self.clear()
+ self.__root = root = _Link() # sentinel node for the doubly linked list
+ root.prev = root.next = root
+ self.__map = {}
self.update(*args, **kwds)
def clear(self):
root = self.__root
root.prev = root.next = root
- self.__map = {}
+ self.__map.clear()
dict.clear(self)
def __setitem__(self, key, value):