The code below works fine, but it is less than nice to look at and somewhat long winded. Is there a better way to do the docstring task? This is the first working version, and can proabably be "compacted" a bit (list comprehensions etc) but I am looking for a better basic approach. Any help much appreciated :)
from itertools import islice def chopupmoves(movelist): '''creates a list of 3 lists from one list, that should all have (length of movelist)/3 length, with any remainder getting added to the third list''' outputlist = [[],[],[]] parlen = int(len(movelist)/3) if parlen < 3: parlen = 3 stoplist=[0];exit = 0 while exit < len(movelist): stoplist.append(exit+parlen) exit = exit + parlen while len(stoplist) > 4: stoplist.pop(len(stoplist)-1) stoplist[-1]=len(movelist) for x in range(len(stoplist)-1): for i in islice(movelist,stoplist[x],stoplist[x+1],1): outputlist[x].append(i) return outputlist movelist = [1,2,3,4,5,6,7,8,9,10,11] print chopupmoves(movelist) -- http://mail.python.org/mailman/listinfo/python-list