from functools import reduce
reduce(lambda out, x: out[:-1] + [out[-1] + [x]] if not predicate(x) else 
    out + [[x]], x, [[]])
Pythonic способ разбить список после элементов, для которых данный предикат истинен