gpt4 book ai didi

python - 按值对字典键进行排序,然后按字母顺序对具有相同值的键进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:51 25 4
gpt4 key购买 nike

我知道标题中没有很好地解释,所以我会尝试在这里做得更好。我想按各自的值对字典的键进行排序,然后按字母顺序对具有相同值的任何键进行排序。最好的方法是什么,最好不使用模块?

python 会自动执行此操作吗?

sorted(dictionary.items(), key=lambda x: x[1])

我试过上面的代码,它似乎可以工作,但我不知道这是否只是巧合。我在文档中找不到任何内容,我需要知道它是否总是有效。

起始字典:

dictionary = {'d':2, 'c':1, 'a':2, 'b':3}

按值排序:

['c', 'd', 'a', 'b']

(1, 2, 2, 3)

具有相同值的项目按字母顺序排序:

['c', 'a', 'd', 'b']

(1, 2, 2, 3)

最佳答案

我想你想要:

sorted(dictionary.items(), key=lambda t: t[::-1])

这与:

def reverse_tuple(t):
return t[::-1]

sorted(dictionary.items(), key=reverse_tuple)

这是有效的,因为元组是按字典顺序排序的。比较第一个元素,如果它们相等,python 将移动到第二个,依此类推。

不幸的是,这几乎只是 sorted(dictionary.items()),然后您的主要排序顺序由元组中的第一个元素(即键)决定,这不是您想要的.诀窍是仅反转元组,然后按您希望的方式进行比较。

关于python - 按值对字典键进行排序,然后按字母顺序对具有相同值的键进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28356342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com