登陆

Python如何给sorted里的key动态的传参数

def sort():
    return sorted(a,key=lambda x:(x['name'],x['age']),reverse=True)

就是说如果我传name就按name排序,如果传name和age就按照这两个key双重排序,如果传了三个key以此类推

# Python
高洛峰高洛峰1816 天前387 次浏览

全部回复(1)我要回复

  • 三叔

    三叔2016-11-05 10:59:19

    下面附验证后的可行方法:

    def sort(a, args):
        return sorted(a, key=lambda x: tuple(x[i] for i in args), reverse=True)
        
    dic_sorted = sort(lst, ['time', 'id', 'type'])

    args接受的是一个列表


    回复
    0
  • 取消回复发送