Query about doing fortran-esque repeat formatting

Rob Briggs rdbriggs at mun.ca
Mon Nov 9 09:53:23 EST 2009


Thanks to the chaps who answered,  

I knew there would be an efficient answer to this.

regards, 

Rob


On Mon, 2009-11-09 at 13:31 +0100, Jean-Michel Pichavant wrote:
> Glenn Hutchings wrote: 
> > Rob Briggs <rdbriggs <at> mun.ca> writes:
> > 
> >   
> > > Is there a way to do a repeat formatting command like in Fortran? Rather
> > > that doing this:
> > > 
> > > print "%s %-5.3f %-5.3f %-5.3f %-5.3f %-5.3f %-5.3f %-5.3f" %
> > > (parmName[i], tmp[i][1], tmp[i][2], tmp[i][4],  tmp[i][6],  tmp[i][7],
> > > tmp[i][8],  tmp[i][9])
> > >     
> > 
> > There certainly is.  You can use python's string concatenation
> > and repeat operators:
> > 
> > print "%s" + " %-5.3f" * 7 % <stuff>
> > 
> > Glenn
> > 
> >   
> 
> data = tuple(parmName[i]) + tuple(tmp[i]) 
> print "%s" + " %-5.3f" * len(tmp[i]) % data
> 
> That should do the trick.
> 
> JM




More information about the Python-list mailing list