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

查看:147
本文介绍了语法 - Python如何给sorted里的key动态的传参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

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

解决方案

一楼的答案是有问题的,虽然不会报错,但是并没有起到排序的效果

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

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

这篇关于语法 - Python如何给sorted里的key动态的传参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆