Printing with interspersed element

Paulo J. Matos pocmatos at gmail.com
Thu Oct 30 22:10:09 CET 2008


On Thu, Oct 30, 2008 at 8:42 PM, Arnaud Delobelle
<arnodel at googlemail.com> wrote:
> On Oct 30, 8:07 pm, "Paulo J. Matos" <p... at ecs.soton.ac.uk> 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



More information about the Python-list mailing list