]> granicus.if.org Git - python/commitdiff
Minor code simplification.
authorRaymond Hettinger <python@rcn.com>
Sat, 23 Apr 2011 22:51:38 +0000 (15:51 -0700)
committerRaymond Hettinger <python@rcn.com>
Sat, 23 Apr 2011 22:51:38 +0000 (15:51 -0700)
Lib/collections.py

index 321daa394eca0dbed63d2afe1b63af0ee3204b99..42980bfa317b5737a79a99a97ef5971446fe6307 100644 (file)
@@ -65,9 +65,7 @@ class OrderedDict(dict):
         # Deleting an existing item uses self.__map to find the link which is
         # then removed by updating the links in the predecessor and successor nodes.
         dict_delitem(self, key)
-        link = self.__map.pop(key)
-        link_prev = link[PREV]
-        link_next = link[NEXT]
+        link_prev, link_next, key = self.__map.pop(key)
         link_prev[NEXT] = link_next
         link_next[PREV] = link_prev
 
@@ -132,18 +130,6 @@ class OrderedDict(dict):
 
     __update = update  # let subclasses override update without breaking __init__
 
-    def viewkeys(self):
-        "od.viewkeys() -> a set-like object providing a view on od's keys"
-        return KeysView(self)
-
-    def viewvalues(self):
-        "od.viewvalues() -> an object providing a view on od's values"
-        return ValuesView(self)
-
-    def viewitems(self):
-        "od.viewitems() -> a set-like object providing a view on od's items"
-        return ItemsView(self)
-
     __marker = object()
 
     def pop(self, key, default=__marker):
@@ -224,6 +210,20 @@ class OrderedDict(dict):
         'od.__ne__(y) <==> od!=y'
         return not self == other
 
+    # -- the following methods support python 3.x style dictionary views --
+
+    def viewkeys(self):
+        "od.viewkeys() -> a set-like object providing a view on od's keys"
+        return KeysView(self)
+
+    def viewvalues(self):
+        "od.viewvalues() -> an object providing a view on od's values"
+        return ValuesView(self)
+
+    def viewitems(self):
+        "od.viewitems() -> a set-like object providing a view on od's items"
+        return ItemsView(self)
+
 
 ################################################################################
 ### namedtuple