Splitting a list into even size chunks in python?

Norah Jones nh.jones01 at gmail.com
Wed Mar 27 09:06:04 CET 2013


I have a list of arbitrary length, and I need to split it up into equal size chunks. There are some obvious ways to do this, like keeping a counter and two lists, and when the second list fills up, add it to the first list and empty the second list for the next round of data, but this is potentially extremely expensive.

I was wondering if anyone had a good solution to this for lists of any length 

This should work:

    l = range(1, 1000)
    print chunks(l, 10) -> [ [ 1..10 ], [ 11..20 ], .., [ 991..999 ] ]

I was looking for something useful in itertools but I couldn't find anything obviously useful. 

Appretiate your help.

More information about the Python-list mailing list