On Jan 23, 2008 4:12 PM, Jason Grout <[EMAIL PROTECTED]> wrote:
>
> Does anyone know the best way to partition a list into sublists of a
> specific length, similar to the Partition command in Mathematica?  I'm
> thinking of something like:
>
> sage: partition([1,2,3,4],2)
> [[1,2],[3,4]]
> sage: partition([1,2,3,4,5],2,pad=0)
> [[1,2],[3,4],[5,0]]
>
> It seems like this is a problem that python would have solved millions
> of years ago, but I can't find anything when searching online.  I can
> whip it up quickly, but I'm sure it's already been invented, which is
> why I'm asking.

Let me be the first of many to post a one liner:

sage: def partition(v, n):
...       return [v[n*i:n*i+n] for i in range(len(v)//n)]

sage: partition([1,2,3,4],2)
[[1, 2], [3, 4]]

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to