在python的嵌套字典中,是否可以只更改内部字典的内容而不更改外部字典的顺序?

在python的嵌套字典中,是否可以只更改内部字典的内容而不更改外部字典的顺序?,python,dictionary,Python,Dictionary,的公认答案清楚地提到,不可能用Python对字典进行排序。然而,下一个答案声称实际上可以“按字典值排序”。我的处境接近危险。这里,建议主字典使用OrderedDict按其中一个内部字典的键的值进行排序。在本例中,我希望主字典的键保持完整,但值(即字典本身)按降序排序。我有以下字典: dict={ 1: {1: -8, 2: -5, 3: -6, 4: -2}, 2: {1: -7, 2: -6, 3: -5, 4: -1}, 3: {1: -7, 2: -6, 3: -4, 4: -5},

的公认答案清楚地提到,不可能用Python对字典进行排序。然而,下一个答案声称实际上可以“按字典值排序”。我的处境接近危险。这里,建议主字典使用
OrderedDict
按其中一个内部字典的键的值进行排序。在本例中,我希望主字典的键保持完整,但值(即字典本身)按降序排序。我有以下字典:

dict={
1: {1: -8, 2: -5, 3: -6, 4: -2},
2: {1: -7, 2: -6, 3: -5, 4: -1}, 
3: {1: -7, 2: -6, 3: -4, 4: -5}, 
4: {1: -7, 2: -4, 3: -6, 4: -8}

}
我想按值对内部字典的键进行排序。我可以按键的值对键进行排序,但是,输出是不同的(字典中的列表),但在我的示例中很有用

dict1={}
对于键,dict.items()中的值:

dict1[Keys]=sorted(Values,key=Values.get)
字典本质上是无序的(Python 3.7之前)。如果您关心Python3.6的orderAs,请使用不同的数据结构。对于Python的CPython实现,字典会记住插入项的顺序。这个新实现的顺序保持方面被认为是一个实现细节,不应该依赖于您的最佳选择是使用SortedContainer的SortedAct:您可以提供一个键参数(不要与词典的键混淆),通过它对SortedAct的键进行排序。否则,您不妨解释一下您要做什么,我们肯定会给您一个嵌套字典的替代方案。@TravisBlack在实际情况中,内部字典包含许多键值对。按降序排序后,需要顶部的“n”键值对进行进一步操作N'是键值对的总数,“N-N”对被丢弃。但是,外部字典的键必须保持完整。