您无法对字典进行排序。您必须对项目列表进行排序。
以前的版本是错误的。当您有一个数值时,很容易按相反的顺序排序。这些将做到这一点。但这不是一般的。这仅起作用,因为该值为数字。
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