您无法对字典进行排序。您必须对项目列表进行排序。
以前的版本是错误的。当您有一个数值时,很容易按相反的顺序排序。这些将做到这一点。但这不是一般的。这仅起作用,因为该值为数字。
a = { 'key':1, 'another':2, 'key2':1 }b= a.items()b.sort( key=lambda a:(-a[1],a[0]) )print b
这是一种替代方法,使用显式函数代替lambda和cmp代替key选项。
def valueKeyCmp( a, b ): return cmp( (-a[1], a[0]), (-b[1], b[0] ) )b.sort( cmp= valueKeyCmp )print b
更通用的解决方案实际上是两种不同的解决方案
b.sort( key=lambda a:a[1], reverse=True )b.sort( key=lambda a:a[0] )print b
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)