Python 按一个值对一个dict进行排序
我有一个欧元代码,它显示了表格和固定装置等。对于这些表格,我将它们存储在一个json文件中,顺序是固定不变的,如下所示:Python 按一个值对一个dict进行排序,python,dictionary,Python,Dictionary,我有一个欧元代码,它显示了表格和固定装置等。对于这些表格,我将它们存储在一个json文件中,顺序是固定不变的,如下所示: "Table": { "Italy": { "Played": 0, "Won": 0, "Draw": 0, "Lost": 0, "PF&quo
"Table": {
"Italy": {
"Played": 0,
"Won": 0,
"Draw": 0,
"Lost": 0,
"PF": 0,
"PA": 0,
"PD": 0,
"Points": 0
},
"Switzerland": {
"Played": 0,
"Won": 0,
"Draw": 0,
"Lost": 0,
"PF": 0,
"PA": 0,
"PD": 0,
"Points": 0
},
"Turkey": {
"Played": 0,
"Won": 0,
"Draw": 0,
"Lost": 0,
"PF": 0,
"PA": 0,
"PD": 0,
"Points": 0
},
"Wales": {
"Played": 0,
"Won": 0,
"Draw": 0,
"Lost": 0,
"PF": 0,
"PA": 0,
"PD": 0,
"Points": 0
}
}
我希望能够根据球队得分的多少对球队进行排序,或者如果得分相同,则根据得分差异对球队进行排序。我看了和其他相关的问题,仍然无法弄清楚这是怎么可能的,有什么帮助吗?正如在另一个帖子中所说,你不能对字典进行排序,因为它是如何工作的,这里的解决方法是像这样创建dicts列表,但是,使用它是痛苦的,你失去了字典的优势
table = [
{"Italy": {...}},
{"Switzerland": {...}},
...
{"Wales": {...}},
]
另一个解决方法是创建OrderedICT,但您问题中的链接中已经解释了这一点这是否回答了您的问题@Hotkuk我的问题中已经有了这个问题的链接!是的,因为您的问题已经在链接中解释过了,我不知道为什么它会创建自动注释,但我只是将您的问题标记为重复问题,如果您想按某些值排序,而不是将其保存在数据库或pandas dataframein中,在最近的Python>=3.7和CPython中,字典是保留顺序的,因此可以排序。请参阅