首页 > 解决方案 > Python按十进制格式排序排列

问题描述

我想按照以下编号排列列表,

01
02
03
001
002

但是默认的排序命令会给我,

001
002
01
02
03

标签: pythonsorting

解决方案


为了保留长度排序而不是数字排序,我相信您需要根据 2 个标准进行排序:

nums = '03 01 002 02 001'

num_array = nums.split()
sorted_nums = sorted(num_array, key=lambda x: [len(x), x])

print(sorted_nums)

输出:

['01', '02', '03', '001', '002']

推荐阅读