呼如林
其他答案是正确的。这是不可能的,但是您可以自己编写。但是,如果您不确定如何实际实现这样的东西,这是一个完整且有效的实现,该类将我刚刚编写和测试的dict子类化。(请注意,传递给构造函数的值的顺序是不确定的,但是会在以后传递值之前出现,并且您始终可以始终不允许使用值初始化有序的dict。)class ordered_dict(dict): def __init__(self, *args, **kwargs): dict.__init__(self, *args, **kwargs) self._order = self.keys() def __setitem__(self, key, value): dict.__setitem__(self, key, value) if key in self._order: self._order.remove(key) self._order.append(key) def __delitem__(self, key): dict.__delitem__(self, key) self._order.remove(key) def order(self): return self._order[:] def ordered_items(self): return [(key,self[key]) for key in self._order]od = ordered_dict()od["hello"] = "world"od["goodbye"] = "cruel world"print od.order() # prints ['hello', 'goodbye']del od["hello"]od["monty"] = "python"print od.order() # prints ['goodbye', 'monty']od["hello"] = "kitty"print od.order() # prints ['goodbye', 'monty', 'hello']print od.ordered_items()# prints [('goodbye','cruel world'), ('monty','python'), ('hello','kitty')]