我有以下词典:
mydict1 = {1: 11, 2: 4, 5: 1, 6: 1}
mydict2 = {1: 1, 5: 1}
对于它们中的每个,我想首先按值(降序)排序,然后按键(升序)排序,产生以下输出:
out_dict1 = [((1, 11), (2, 4), (5, 1), (6, 1)]
out_dict2 = [(1, 1), (5, 1)]
怎么做呢?
我使用了此方法,但无法在上述两种情况下始终获得一致的结果:
sorted(mydict.items(), key=lambda x: (x[1],x[0]))
由于您想按降序对值进行排序,因此只需在传递给key
参数的函数中取反值,就像这样
sorted(mydict.items(), key=lambda x: (-x[1], x[0]))
现在,这些值将按降序排序,如果两个值相等,则将考虑这些键,并且它们将按升序排序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句