python列表中数字排序_Python排序列表中的第一个数字

我想用第一个数字对这个字符串列表进行排序,最好是在一行中使用正则表达式,但欢迎其他建议.我正在努力获得最快捷的方式.这是清单;

[

"10. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless I",

"11. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless J",

"12. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless K",

"13. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless L",

"14. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless M",

"15. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless N",

"16. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless O",

"17. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless P",

"18. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless Q",

"19. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless R",

"20. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless S",

"21. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless z",

"22. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless A",

"5. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless D",

"6. Command Mounting Refill Strips - Large Pack of 1 6 Strips E",

"7. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless F",

"8. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless G",

"9. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless H"

]

这是我到目前为止尝试过的代码.

dirs = sorted(next(walk(self.rootDirectory))[1], key=lambda x: int(x[0]))

但这又回来了;

[

"10. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless I",

"11. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless J",

"12. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless K",

"13. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless L",

"14. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless M",

"15. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless N",

"16. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless O",

"17. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless P",

"18. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless Q",

"19. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless R",

"20. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless S",

"21. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless z",

"22. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless A",

"5. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless D",

"6. Command Mounting Refill Strips - Large Pack of 1 6 Strips E",

"7. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless F",

"8. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless G",

"9. iTOMA Radio Alarm Clock FM Digital Radio Clock Bedside Alarm Clock Wireless H"

]

更新

我是否也可以在不使用的情况下对其进行排序.字符.例如; “20 iTOMA收音机闹钟FM数字收音机时钟床头闹钟无线S”

解决方法:

拆分后转换为int.取全部数字,而不仅仅是第一个数字:

lst = next(walk(self.rootDirectory))[1]

dirs = sorted(lst, key=lambda x: int(x.split('.')[0]))

排序时’.’不一定在字符串中:

dirs = sorted(lst, key=lambda x: float(x.split()[0]))

可以使用或不使用’.’.

标签:python,python-3-x

来源: https://codeday.me/bug/20190714/1458036.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值