From: Raymond Hettinger Date: Sat, 23 Apr 2011 22:51:38 +0000 (-0700) Subject: Minor code simplification. X-Git-Tag: v2.7.2rc1~120 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=43a5641c0bff4a3a4fd6332baa480321520f9f9b;p=python Minor code simplification. --- diff --git a/Lib/collections.py b/Lib/collections.py index 321daa394e..42980bfa31 100644 --- a/Lib/collections.py +++ b/Lib/collections.py @@ -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