好吧,我正在尝试对字典中的键值对字典进行排序。键是单词,值是十进制值。我正在尝试根据值获取排序键的列表。现在我有:
sortedList = sorted(wordSimDic, key=wordSimDic.get,reverse=True)
这有效。然而,我希望能够进一步做一件事。如果键的值匹配,我希望它们在输出列表中按字母顺序按键排序。
For example
Input:
{'c':1,'a':1,'d':3}
Output:
[a,c,d]
right now my output is:
[c,a,d]
您有什么建议吗?非常感谢!
最佳答案
一般来说,要在 Python 中“按 X 然后 Y 排序”,您需要一个生成 (X, Y) 元组(或其他序列,但元组实际上是最简单和最干净的序列)的关键函数。因此:
sorted(wordSimDic, key=lambda k: (wordSimDic.get(k), k), reverse=True)
关于python - 已排序的字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27199082/