python列表按照数字排序

任务

对形如d1_1_1.bmp的标签进行排序,要求按照标签中三个数字按照升序排序,排序后结果如下
在这里插入图片描述

方法

使用sort函数代码如下,要排序的列表名为items

items.sort(key = lambda x: (int(x.split('_')[0][1:]), int(x.split('_')[1]), int(x.split('_')[2])))

解释

用lamdba函数指定排序的依据,如果需要多个关键字作为依据进行排序,可以用形如 lamdba x : (key1, key2, …) 的方式指定。在上面的代码中三个关键字是int(x.split(’’)[0][1:]),int(x.split(’’)[1]),int(x.split(’_’)[3]),以第一个关键字为例进行解释。首先需要将标签根据"_“进行分割,即x.split(’_’),然后先按第一个数字进行排序,取分割后的第一部分x.split(’_’)[0],再去掉数字前的"d”,x.split(’_’)[0][1:]。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值