Skip to content

Commit d26c07a

Browse files
committed
-
1 parent ed8e406 commit d26c07a

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

source_py2/python_toolbox/nifty_collections/ordered_dict.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,18 @@ def move_to_end(self, key, last=True):
2222
When last=True, acts like a fast version of self[key]=self.pop(key).
2323
2424
'''
25-
if sys_tools.is_pypy:
26-
if last is False:
27-
raise NotImplementedError
28-
value = self[key]
29-
del self[key]
30-
self[key] = value
25+
try:
26+
self.__map
27+
except AttributeError: # PyPy
28+
if last:
29+
self[key] = self.pop(key)
30+
else:
31+
# Very inefficient implementation for corner case.
32+
value = self.pop(key)
33+
items = tuple(self.items())
34+
self.clear()
35+
self[key] = value
36+
self.update(items)
3137
return
3238
else:
3339
link = self.__map[key]

0 commit comments

Comments
 (0)