运用有序字典保存顺序。

from collections import OrderedDict

class Solution: def LRU(self , operators: List[List[int]], k: int) -> List[int]: # write code here result = [] cache_index = [] cache = OrderedDict()

    for op in operators:
        # set操作
        if op[0] == 1:
            if op[1] in cache.keys():
                cache[op[1]] = op[2]
            else:
                if len(cache) < k:
                    cache[op[1]] = op[2]
                else:
                    first_key = list(cache.keys())[0]
                    cache.pop(first_key)
                    cache[op[1]] = op[2]
        # get操作
        else:
            if op[1] in cache.keys():
                result.append(cache[op[1]])
                cache.move_to_end(op[1])
            else:
                result.append(-1)
    return result