search

Home  >  Q&A  >  body text

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

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

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

高洛峰高洛峰2951 days ago981

reply all(1)I'll reply

  • 三叔

    三叔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接受的是一个列表


    reply
    0
  • Cancelreply