See the "grouper" example in http://docs.python.org/library/itertools.html
On Friday, August 31, 2012 11:28:33 PM UTC-7, anatoly techtonik wrote: > > I've run into the necessity of implementing chunks() again. Here is > the code I've made from scratch. > > def chunks(seq, size): > '''Cut sequence into chunks of given size. If `seq` length is > not divisible by `size` without reminder, last chunk will > have length less than size. > > >>> list( chunks([1,2,3,4,5,6,7], 3) ) > [[1, 2, 3], [4, 5, 6], [7]] > ''' > endlen = len(seq)//size > for i in range(endlen): > yield [seq[i*size+n] for n in range(size)] > if len(seq) % size: > yield seq[endlen*size:] > > -- > anatoly t. > > > On Fri, Jun 29, 2012 at 11:32 PM, Georg Brandl <g.br...@gmx.net<javascript:>> > wrote: > > On 26.06.2012 10:03, anatoly techtonik wrote: > >> > >> Now that Python 3 is all about iterators (which is a user killer > >> feature for Python according to StackOverflow - > >> http://stackoverflow.com/questions/tagged/python) would it be nice to > >> introduce more first class functions to work with them? One function > >> to be exact to split string into chunks. > >> > >> itertools.chunks(iterable, size, fill=None) > >> > >> Which is the 33th most voted Python question on SO - > >> > >> > http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python/312464 > > >> > >> P.S. CC'ing to python-dev@ to notify about the thread in python-ideas. > >> > > > > Anatoly, so far there were no negative votes -- would you care to go > > another step and propose a patch? > > > > > > Georg > > > > _______________________________________________ > > Python-ideas mailing list > > python...@python.org <javascript:> > > http://mail.python.org/mailman/listinfo/python-ideas > _______________________________________________ > Python-ideas mailing list > python...@python.org <javascript:> > http://mail.python.org/mailman/listinfo/python-ideas >
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com