Python排序
sorted函数
常用参数
sorted(iterable
, key
=None, reverse
=False)
iterable:可迭代的对象比如列表list,元组tuple,字典dict等,也就是待排序的集合
key:用来进行比较的元素,可以是函数名或者lambda表达式,返回的是用来比较的元素,可以返回多个,则先按第一个排序,相等再按后面的。
reverse:默认按比较元素从小到大排序,reverse=True则反过来从大到小排序,也可以给比较元素前加负号。
举个🌰:
ID分数评分人数
49.86428.79616.02438.796
规则:首先按分数从大到小排序,如果分数相等按照评分人数从大到小排序,如果评分人数相等按照ID从小到大排序
rank
= [(4, 9.86, 4),(2, 8.79, 6),(1, 6.02, 4),(3, 8.79, 6)]
ranked
= sorted(rank
, key
=lambda r
: (-float(r
[1]), -float(r
[2]), float(r
[0])))
ranked