On Thu, Oct 30, 2008 at 8:42 PM, Arnaud Delobelle <[EMAIL PROTECTED]> wrote: > On Oct 30, 8:07 pm, "Paulo J. Matos" <[EMAIL PROTECTED]> wrote: >> Hi all, >> >> I guess this is a recurring issue for someone who doesn't really know >> the python lib inside out. There must be a simple way to do this. >> I have a list of objects [x1, x2, x3, ..., xn] and I have defined a >> print method for them print_obj(). Now I want to print them >> intersepersed by an element. >> If I print [x1, x2, x3] interspersed by the element 10: >> x1.print_obj() 10 x2.print_obj() 10 x3.print_obj() >> >> Now, the question is, what's the best way to do this? > > Defining a print_obj() method is probably a bad idea. What if you > want to print to a file for example? Instead you can define a > __str__() method for your objects and then use the join() method of > strings like this: > > print ' 10 '.join(str(x) for x in lst) >
Thanks for the tip but that has an issue when dealing with potentially millions of objects. You are creating a string in memory to then dump to a file [or screen] while you could dump to the file [or screen] as you go through the original string. Right? > HTH > > -- > Arnaud > > -- > http://mail.python.org/mailman/listinfo/python-list > > > -- Paulo Jorge Matos - pocmatos at gmail.com Webpage: http://www.personal.soton.ac.uk/pocm -- http://mail.python.org/mailman/listinfo/python-list