gpt4 book ai didi

python - 在 Python 中按值和键排序字典?

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:50 25 4
gpt4 key购买 nike

我有以下字典:

dic = {'s': 3, 'a': 2, 'w': 2, 'y': 2, 'x': 2, 'm': 4, 'd': 5}

我需要先按 VALUE 对元素进行排序,如果值重复,则按 KEY 排序,因此我会得到以下输出:

dic = [('d', 5), ('m', 4), ('s', 3), ('a', 2), ('w', 2), ('x', 2), ('y', 2)]

我试过使用这段代码:

sorted(dic.items(), key=lambda x: x[1], reverse=True)

但我一直得到相同的输出(键等于 2 的字母未按字母顺序排列):

[('d', 5), ('m', 4), ('s', 3), ('a', 2), ('w', 2), ('y', 2), ('x', 2)]

有谁知道我该如何解决这个问题?

提前致谢。

最佳答案

您可以使用键函数对字典项进行排序,该函数返回一个二元组,其中字典项的负值作为第一项,键作为第二项:

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

返回:

[('d', 5), ('m', 4), ('s', 3), ('a', 2), ('w', 2), ('x', 2), ('y', 2)]

关于python - 在 Python 中按值和键排序字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58034417/

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