-x在排序函数的键中是什么意思?

时间:2019-06-03 19:29:40

标签: python

我需要先按值对字典进行排序,然后再对它进行排序,然后我上网了,发现了这个>> Sorting a dictionary by value then key <<有人回答说:“您需要利用值是数字这一事实。 ”并留下了代码

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

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

1 个答案:

答案 0 :(得分:1)

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

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