Python os.listdir sort 排序问题(默认ASCII规则排序)
sort默认ASCII规则排序
# 数组
test_list = ['0.jpg', '11.jpg', '2.jpg', '1.jpg', '20.jpg', '3.jpg']
# 排序
test_list.sort()
# 输出
print(test_list)
输出结果:
['0.jpg', '1.jpg', '11.jpg', '2.jpg', '20.jpg', '3.jpg']
字符串+数字排序正常
# 数组
test_list = ['0.jpg', '11.jpg', '2.jpg', '1.jpg', '20.jpg', '3.jpg']
# 排序
test_list.sort(key=lambda x: int(x[:-4]))
# 输出
print(test_list)
输出结果:
['0.jpg', '1.jpg', '2.jpg', '3.jpg', '11.jpg', '20.jpg']