group by就可以很方便的实现 from itertools import groupby data = '89 79 57 46 1 24 71 5 6 9 10 15 16 19 22 31 40 41 52 55 60 61 65 69 70 75 85 91 92 94' for k, g in groupby(sorted(data.split()), key=lambda x: int(x) // 10): lst = map(str, [int(_) % 10 for _ in list(g)]) print k, '|', ' '.join(lst)
group by就可以很方便的实现