Splitting a list

From: Ian Sparks (Ian.Sparks_at_etrials.com)
Date: 08/31/04


Date: Tue, 31 Aug 2004 09:54:17 -0400
To: "Python-List@Python. Org (E-mail)" <python-list@python.org>

string.split() is very useful, but what if I want to split a list of integers on some element value?

 e.g. :

>> l = [1,2,3,-1,4,5,-1,8,9]
>> l.split(-1)
>> [[1,2,3],[4,5],[8,9]]

Here's my hideous first pass :

>> [[int(z) for z in x.split(',') if z] for x in ','.join([str(a) for a in l]).split('-1')]
>> [[1, 2, 3], [4, 5], [8, 9]]

When I see code like that I just know I've missed something obvious....