数据量是不固定的,可以是10-01,也可以是08-07-12-41-54-12
5条回答 默认 最新
CSDN专家-HGJ 2021-07-19 17:05关注在python中有个库natsort,用自然顺序算法对给定数组中的元素排序。 natsort() 函数实现了“自然排序”,即数字从 1 到 9 的排序方法,字母从 a 到 z 的排序方法,短者优先。你的需求,可以用natsort来实现,代码如下:
import natsort a = ['10-4', '12-18-7', '12-18-2', '12-18-3', '12-18-4', '12-18-5', '6-4-1', '12-3-10', '10-6-7-4-3', '10-6-7-4-2', '12-3-12', '10-6-7-4-1', '12-3-11', '7-78-1-7', '7-78-1-6', '12-71-4', '12-71-3', '12-71-2', '12-3-14', '7-78-1-3', '12-3-13'] print(natsort.humansorted(a))#运行结果: ['6-4-1', '7-78-1-3', '7-78-1-6', '7-78-1-7', '10-4', '10-6-7-4-1', '10-6-7-4-2', '10-6-7-4-3', '12-3-10', '12-3-11', '12-3-12', '12-3-13', '12-3-14', '12-18-2', '12-18-3', '12-18-4', '12-18-5', '12-18-7', '12-71-2', '12-71-3', '12-71-4']如有帮助,请点击采纳。
解决 无用评论 打赏 举报