Python如何给sorted里的key动态的传参数
def sort():
return sorted(a,key=lambda x:(x['name'],x['age']),reverse=True)
就是说如果我传name就按name排序,如果传name和age就按照这两个key双重排序,如果传了三个key以此类推
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一楼的答案是有问题的,虽然不会报错,但是并没有起到排序的效果
下面附验证后的可行方法:
args接受的是一个列表
根据你改的,没测试过 ,你可以测测。希望我没写错。
这是我测试的结果:
看起来没什么问题呢
不知道你是不是想这样,
如下,每个tuple中第一列是姓名,第二列是成绩,第三列是年龄
目的是先按成绩排序,然后按照年龄排序
参考Python cookbook里的内容
通过某个关键字排序一个字典列表
如下可以实现动态传参数
operator的文档介绍在下面链接
operator.itemgetter