首页 > 解决方案 > -x 在 sorted 函数的键中是什么意思?

问题描述

我需要先按值排序字典然后按键,我上网发现了这个>>按值排序字典然后按键<< 有人回答说“你需要利用值是数字的事实。” 并留下了代码

>>> [v[0] for v in sorted(d.iteritems(), key=lambda(k, v): (-v, k))]
['peach', 'banana', 'beetroot', 'almond', 'apple']

-v 是什么意思?v 和 -v 有什么区别?

标签: python

解决方案


x.items()变成Counter(...)一个元组列表:[('a', 5), ('b', 3), ('c': 7)]. 该key参数表示应该使用什么值对列表进行排序——并k[1]指向k元组的第二个元素。

并且因为键实际上是-k[1],所以结果列表以相反的顺序排序,从计数最大的项目到计数最低的项目。


推荐阅读