Python 3.x Can';t使用OrderedDict和sorted命令命令命令

Python 3.x Can';t使用OrderedDict和sorted命令命令命令,python-3.x,Python 3.x,好的,这就是我想要的 dict = {'word1':8, 'word2':5, 'word3' : 15, 'word4' : 1} sorted(dict.items(), key=lambda x: x[1]) [('word4', 1), ('word2', 5), ('word1', 8), ('word3', 15)] 那不是我想要的。 我不明白。我做错了什么?为什么OrderedDict没有按要求订购?我检查了您编写的代码,同样的情况对我也适用。可能是因为您在基于shell的环境

好的,这就是我想要的

dict = {'word1':8, 'word2':5, 'word3' : 15, 'word4' : 1}
sorted(dict.items(), key=lambda x: x[1])
[('word4', 1), ('word2', 5), ('word1', 8), ('word3', 15)]
那不是我想要的。
我不明白。我做错了什么?为什么OrderedDict没有按要求订购?

我检查了您编写的代码,同样的情况对我也适用。可能是因为您在基于shell的环境中使用它,所以没有保存值或其他什么

下面是代码的屏幕截图以及您期望的输出


如果您还有问题,请告诉我。

我似乎无法复制您看到的行为。运行代码会产生预期的输出。您在什么样的环境中运行它?当您在对象上调用print方法时,顺序确实是确定的。当您在shell中输出变量时,您可以看到我得到了什么。使用next(iter(order_dict.keys())进行测试表明,dict确实按照预期进行了排序。谢谢
OrderedDict(sorted(dict.items(), key=lambda x: x[1]))
OrderedDict([('word1', 8), ('word2', 5), ('word3', 15), ('word4', 1)])