您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python 2.5字典2键排序

Python 2.5字典2键排序

您无法对字典进行排序。您必须对项目列表进行排序。

以前的版本是错误的。当您有一个数值时,很容易按相反的顺序排序。这些将做到这一点。但这不是一般的。这仅起作用,因为该值为数字。

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
python 2022/1/1 18:47:19 有329人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶