我有如下字典:
我需要首先按照“VALUE”排序元素,如果值重复,则按“KEY”排序,以获得以下输出结果:
我已经尝试使用以下代码:
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)]
有人知道我怎么能解决这个问题吗?
提前感谢。
reverse=True
。key=lambda x: (-x[1],x[0]), reverse=False
可以解决这个问题,但如果-
运算符未定义您的对象,则可能会引起其他问题。 - Nicolas Abril