Is there an easier way to express this list slicing?

Paul McGuire ptmcg at
Thu Nov 30 20:37:58 CET 2006

"Paul McGuire" <ptmcg at> wrote in message 
news:MmGbh.10434$Gk5.6762 at
> "John Henry" <john106henry at> wrote in message 
> news:1164913125.509492.54060 at

Grrrr... that's what I get for not keeping editor and interpreter windows in 
sync.  My post was referencing vars I had defined in the interpreter, but 
which the function had no clue of. !!!  Here's a working version.

-- Paul

def splitUp(src,lens):
    ret = []
    cur = 0
    for length in lens:
        if length is not None:
            ret.append( src[cur:cur+length] )
            cur += length
            ret.append( src[cur:] )
    return ret

origlist = list("ABCDEFGHIJ")
alist, blist, clist, dlist = splitUp( origlist, (1,1,3,None) )
print alist, blist, clist, dlist

More information about the Python-list mailing list