Printing n elements per line in a list

Gerard Flanagan grflanagan at yahoo.co.uk
Wed Aug 16 07:07:34 EDT 2006


John Machin wrote:
> Gerard Flanagan wrote:
>
> >
> > just variations on previous answers:
> >
> > rng = range(1,101)
> >
> > #ad hoc
> > for line in ( rng[i:i+5] for i in xrange(0,100,5) ):
> >     print ' '.join(map(str,line))
> >
> > #in general
> > def lines( seq, count=1 ):
> >     n = len(seq)
> >     for x in ( seq[i:i+count] for i in xrange(0,n,count) ):
> >         yield x
> >
>
> Don't those last two lines deflate to:
>     for i in xrange(0,n,count):
>         yield seq[i:i+count]
> ???

Yes! Thank you.  (pre-caffeine...)

Gerard




More information about the Python-list mailing list