如有疑问,您可以随时编写自己的生成器:
def group_runs(li,tolerance=2): out = [] last = li[0] for x in li: if x-last > tolerance: yield out out = [] out.append(x) last = x yield out
演示:
list(group_runs(my_list))Out[48]: [[0, 1, 2, 3, 5, 6], [10, 11], [15, 16, 18, 19, 20]]



