Chunking sequential values in a list
Paul Rubin
http
Fri Jul 14 01:13:12 EDT 2006
David Hirschfield <davidh at ilm.com> writes:
> So sequentialChunks([1,2,3,5,6,8,12]) returns:
> [[1,2,3],[5,6],[8],[12]]
Ugly and not too efficient: find the break points and use them to make
sub-lists.
def sequentialChunks(l, stride=1):
p = [0] + [i for i in xrange(1,len(l)) if l[i]-l[i-1] != stride] + [len(l)]
return [l[p[i]:p[i+1]] for i in xrange(len(p)-1)]
print sequentialChunks([1,2,3,5,6,8,12])
More information about the Python-list
mailing list