def split_on_zero(data): start = 0 for (i, n) in enumerate(data): if n == 0: yield data[start:i] start = i + 1 yield data[start:] >>> list(split_on_zero([3, 7, 4, 0, 1, 3, 7])) [[3, 7, 4], [1, 3, 7]] >>> list(split_on_zero([0, 1, 2, 0, 3, 4, 5, 0])) [[], [1, 2], [3, 4, 5], []]
Marcelo cantos
source share