Assume you have a list of arbitrary elements like
['monkey', 'deer', 'lion', 'giraffe', 'lion', 'eagle', 'lion', 'fish']
which should be split into sublists after each element for which a given predicate, e.g.
is_lion(element)
returns True
. The above example should become
[['monkey', 'deer', 'lion'], ['giraffe', 'lion'], ['eagle', 'lion'], ['fish']]
Is there a pythonic way of doing it?