秋木叶 发表于 2018-1-15 16:10:01

一个排序问题(菜鸟提问)

现有数据集:
——————————————————————————————
1
2
15
3
4
5
9
10
6
11
17
18
12
——————————————————————————————
其实就是 1,2,3,4,5,6,   9,10,11,12,15,17,18

输出结果为:
1-6
9-12
15
17-18

求大佬们出个主意,c,python,shell,awk都可以
谢谢!!{:10_281:}

8306最硬 发表于 2018-1-15 16:33:53

本帖最后由 8306最硬 于 2018-1-15 16:46 编辑

网上有个大牛写的,python3
from itertools import groupby

lst = sorted()

fun = lambda x: x - x
for k, g in groupby(enumerate(lst), fun):
    lst = ()
    a, b = lst, lst[-1]
    print('{}-{}'.format(a, b) if a != b else a)

秋木叶 发表于 2018-1-15 17:50:10

简洁方便,谢谢大佬!!!{:10_275:}
页: [1]
查看完整版本: 一个排序问题(菜鸟提问)