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

Python 排序函数键中的-x是什么意思?,python,Python,我需要按值和键对dict进行排序,我在网上搜索发现这个>>x.items()将计数器(…)转换成一个元组列表:[('a',5),('b',3),('c':7)]。key参数表示应该使用什么值对列表进行排序,并且k[1]指向k元组的第二个元素 由于键实际上是-k[1],因此结果列表按相反顺序排序,从计数最大的项到计数最低的项 1和-1之间有什么区别?简化的例子,希望它能有所帮助:sorted([1,3,2,4],key=lambda x:x),sorted([1,3,2,4],key=lambda

我需要按值和键对dict进行排序,我在网上搜索发现这个>>
x.items()
计数器(…)
转换成一个元组列表:
[('a',5),('b',3),('c':7)]
key
参数表示应该使用什么值对列表进行排序,并且
k[1]
指向
k
元组的第二个元素


由于键实际上是
-k[1]
,因此结果列表按相反顺序排序,从计数最大的项到计数最低的项

1
-1
之间有什么区别?简化的例子,希望它能有所帮助:
sorted([1,3,2,4],key=lambda x:x)
sorted([1,3,2,4],key=lambda x:-x)
你的意思是[v[0]对于排序中的v(d.iteritems(),key=lambda(k):(-v,k))]和[v[0]对于排序中的v没有区别吗(d.iteritems(),key=lambda(k,v):(v,k,reverse=True)]如果您询问
key=lambda k:-k[1]
an
key=lambda k,v:(-v,k)
之间是否存在差异,那么是的。在第一种情况下,只有计数用于排序,而在第二种情况下,字符串(名称)用于排序如果两个项目的计数相等,也使用。
>>> [v[0] for v in sorted(d.iteritems(), key=lambda(k, v): (-v, k))]
['peach', 'banana', 'beetroot', 'almond', 'apple']