【Python】sorted 按数字的递增排序

引言

当我们在使用sorted函数对列表中的数字进行排序时会发现,所排的顺序并非我们想要的数字递增的顺序。

source = r'D:\YOLOv5\test\L_1501016'
files = sorted(os.listdir(source))
print(files)

得到结果如下:

['1.jpg', '10.jpg', '100.jpg', '1000.jpg', '101.jpg', '102.jpg', '103.jpg', '104.jpg', '105.jpg', '106.jpg', '107.jpg', '108.jpg']

解决方法

使用关键字进行排序的定义

source = r'D:\YOLOv5\test\L_1501016'
files = sorted(os.listdir(source),key=lambda x:int(str(x).split('.')[0]))
print(files)

得到结果如下:

['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg', '10.jpg', '11.jpg', '12.jpg', '13.jpg', '14.jpg']
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值