如何在python中对词典的一部分进行排序

如何在python中对词典的一部分进行排序,python,python-3.x,Python,Python 3.x,我有一本这样的字典: dic = {'jack':15,'sara':'20','bob':13,'abby':13} 我只想对具有类似值的键进行排序,就像“bob”和“abby”。 我需要得到这个输出: dic = {'jack':15,'sara':'20','abby':13,'bob':13} 这里有一种方法,您可以先创建一个反向字典,然后以sorted()的方式重新插入 由于使用了字典,您可以确保它们的键是按顺序排列的。在中阅读有关字典键排序的更多信息 尽管如此,正如肯普所指出的,

我有一本这样的字典:

dic = {'jack':15,'sara':'20','bob':13,'abby':13}
我只想对具有类似值的键进行排序,就像“bob”和“abby”。 我需要得到这个输出:

dic = {'jack':15,'sara':'20','abby':13,'bob':13}

这里有一种方法,您可以先创建一个反向字典,然后以
sorted()
的方式重新插入

由于使用了字典,您可以确保它们的键是按顺序排列的。在中阅读有关字典键排序的更多信息

尽管如此,正如肯普所指出的,您应该考虑排序的需求,可能不同的数据结构更适合存储数据


您还可以根据需要查看Paul指出的内容。

Python字典不是有序数据类型,因此这里无法确定键的顺序。您可能正在寻找类似Python的东西。需要对它们进行排序的原因是什么?通常,如果您发现自己需要字典排序,那么这意味着您实际上可能需要不同的数据结构。
dic = {'jack':15,'sara':20,'bob':13,'abby':13}
invertedDic = {}
for k, v in dic.items():
    invertedDic.setdefault(v, []).append(k)
    
dic = {}
for key, val in invertedDic.items():
    for v in sorted(val):
        dic[v] = key