Is there an easier way to express this list slicing?

John Henry john106henry at hotmail.com
Thu Nov 30 21:17:50 CET 2006


Thomas Ploch wrote:
<snip>
>
> I had a little bit of fun while writing this:
>
> itemList = (a,b,c1,c2,c3,d1,d2,d3,d4,d5) and
> itemList2 = (a1,a2,a3,b,c,d1,d2,d3,d4,d5) the next time.
>

Huh?  What's a,b,....d5?

> def getSlices(aCount, bCount, cCount, dCount, items):
>     a,b,c,d = (items[0:aCount],
>                 items[aCount:aCount+bCount],
>                 items[aCount+bCount:aCount+bCount+cCount],
> 		item[aCount+bCount+cCount:aCount+bCount+cCount+dCount])

You meant "items" here, right?

>     return list(a),list(b),list(c),list(d)
>
> >>>a,b,c,d = getSlices(1,1,3,5,itemList)
> >>>print a,b,c,d
> ['a'] ['b'] ['c1', 'c2', 'c3'] ['d1', 'd2', 'd3', 'd4', 'd5']
>
> >>>a,b,c,d = getSlices(3,1,1,0,itemList2)
> >>>print a,b,c,d
> ['a1', 'a2', 'a3'] ['b'] ['c'] []
> 
> %-)
> 
> Thomas




More information about the Python-list mailing list