python中sort的用法——对列表中的元素按关键字排序

在python中,sort是列表排序的一种方法,调用方式为list.sort(),这样会改变原来列表的值。
sort(key, reverse)方法有key和reverse两种参数,其中key表示的是排序的关键字,reverse表示的是排序的方式(reverse=False表示升序和reverse=True表示降序)
sort()方法默认是升序排序,即默认reverse=False。
下面主要写一下如何用sort根据关键字排序:
对于一个列表,其中的元素也是列表,要根据元素中的值进行排序,直接看代码:
例子一:

l = [[1,2,3],[2,2,1],[2,1,3]]

l.sort(key = lambda x: (x[0],-x[1]))
'''
其中key表示按第几个关键字排序,lambda x:后()中的元素表示了关键字的优先级
第一位表示最高的优先级,第二位次之。。。
其中下x[0]表示按第一个关键词的升序排列,-x[1]表示按第二个关键词的降序排列。
'''
print(l)
#输出:[[1, 2, 3], [2, 2, 1], [2, 1, 3]]

例子二:

l = [[1,2,2],[2,2,1],[2,1,3]]

l.sort(key = lambda x: (-x[2],x[1]))
#表示按第三个元素的降序排列,然后再根据第二个元素的升序排
print(l)
#输出:[[2, 1, 3], [1, 2, 2], [2, 2, 1]]
  • 16
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值