追溯:
File 'LRUCache.py', line 32, in get_value
File 'lib\collections.py', line 157, in pop
File 'lib\collections.py', line 88, in __delitem__
UnboundLocalError: local variable 'link_next' referenced before assignment
LRUCache.get
try:
value = self.cache.pop(key)
self.cache[key] = value
return value
except KeyError:
return None
OrderedDict 中的代码
def __delitem__(self, key, dict_delitem=dict.__delitem__):
dict_delitem(self, key)
link_prev, link_next, key = self.__map.pop(key)
link_prev[1] = link_next
link_next[0] = link_prev
并且 UnboundLocalError 在最后一行意外发生。
它与关闭无关。
我不知道为什么。超出我的想象。