Paul McGuire wrote:
> "Paul McGuire" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]
> > "John Henry" <[EMAIL PROTECTED]> wrote in message
> > news:[EMAIL PROTECTED]
> snip
>
> 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
> else:
> ret.append( src[cur:] )
> return ret
>
> origlist = list("ABCDEFGHIJ")
> alist, blist, clist, dlist = splitUp( origlist, (1,1,3,None) )
> print alist, blist, clist, dlist
Nice.
While we are at it, why not:
class splitUp(object):
def __init__(self,src):
self._src=list(src)
def slice(self, lens):
ret = []
cur = 0
for length in lens:
if length is not None:
ret.append( self._src[cur:cur+length] )
cur += length
else:
ret.append( self._src[cur:] )
return ret
alist, blist, clist, dlist = splitUp("ABCDEFGHIJ").slice((1,1,3,None))
print alist, blist, clist, dlist
Now, that's readable!
--
http://mail.python.org/mailman/listinfo/python-list