Python排序

    技术2023-05-08  90

    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 # [(4, 9.86, 4), (2, 8.79, 6), (3, 8.79, 6), (1, 6.02, 4)]
    Processed: 0.016, SQL: 9