from collections import OrderedDict
class Solution:
def LRU(self , operators , k ):

    ret = []
    od = OrderedDict()
    for opt in operators:
        if opt[0] == 1:
            if len(od) < k:
                od[str(opt[1])] = opt[2]
            else:
                od.pop(list(od.keys())[0])
                od[str(opt[1])] = opt[2]
        else:
            if str(opt[1]) in od:
                if len(od) <= k:
                    ret.append(od.get(str(opt[1])))
                    od.move_to_end(str(opt[1]))
                else:
                    od.pop(list(od.keys())[0])
                    od[str(opt[1])] = opt[2]
                    ret.append(od.get(str(opt[1])))
            else:
                ret.append(-1)
    return ret

用OrderedDict做这个很适合吧 不知有大神指教更简单的解法没