我需要按第一项降序排列元组列表,然后按升序按第二项排序。在
为此,我实现了以下函数,但我认为它可能更快。在
>>> compare = lambda a, b: -cmp(b[1], a[1]) if b[0] == a[0] else cmp(b[0], a[0])
>>> sorted([(0, 2), (0, 1), (1, 0), (1, 2)], cmp=compare)
[(1, 0), (1, 2), (0, 1), (0, 2)]
有可能优化吗?请参见与内置函数的比较:
^{pr2}$
Tags:
你觉得怎么样?在
对我来说,使用键代替比较函数要快一些,而且可以说也更容易阅读:
这需要Python2.4或更高版本。在
相关问题 更多 >
编程相关推荐