Simon Brunning wrote: > On 10/16/06, Simon Brunning <[EMAIL PROTECTED]> wrote: > > >>> a = [1,2,3,4,5,6,7,8,9,10] > > >>> a.sort(key=lambda item: (((item-1) %3), item)) > > >>> a > > [1, 4, 7, 10, 2, 5, 8, 3, 6, 9] > > Re-reading the OP's post, perhaps sorting isn't what's required: > > >>> a[::3] + a[1::3] + a[2::3] > [1, 4, 7, 10, 2, 5, 8, 3, 6, 9] > > -- > Cheers, > Simon B > [EMAIL PROTECTED] > http://www.brunningonline.net/simon/blog/
Ok so this is what I got.. but there is an odd side effect: def reslice(series): series.sort() i = 1 newseries = series[::3] while(1): c = series[i::3] if len(c) >= 3: newseries = newseries + c else: break i = i + 1 return newseries a = [2,1,4,3,6,5,8,7,10,9] b = reslice(a) print b >>> [1, 4, 7, 10, 2, 5, 8, 3, 6, 9, 4, 7, 10] I have one extra 10 that I shouldn't... -- http://mail.python.org/mailman/listinfo/python-list