better way to write this function

Paul Rudin paul.nospam at rudin.co.uk
Mon Nov 26 04:24:46 EST 2007


Kelie <kf9150 at gmail.com> writes:

> Hello,
>
> This function does I what I want. But I'm wondering if there is an
> easier/better way. To be honest, I don't have a good understanding of
> what "pythonic" means yet.
>
> def divide_list(lst, n):
>     """Divide a list into a number of lists, each with n items. Extra
> items are
>        ignored, if any."""
>     cnt = len(lst) / n
>     rv =  [[None for i in range(n)] for i in range(cnt)]
>     for i in range(cnt):
>         for j in range(n):
>             rv[i][j] = lst[i * n + j]
>     return rv
>
> Thanks!

See the last recipe from:
http://docs.python.org/lib/itertools-recipes.html. It's not doing
quite the same thing, but gives an illustration of one way to approach
this sort of thing.



More information about the Python-list mailing list