Cast list of objects to list of strings

Gabriel Genellina gagsl-py2 at
Tue Jun 3 03:36:56 CEST 2008

En Mon, 02 Jun 2008 18:56:08 -0300, jay graves <jaywgraves at>  

> On Jun 2, 4:02 pm, Larry Bates < at`> wrote:
>> I think what you want is:
>> def write_err(*args):
>>      from sys import stderr
>>      stderr.write("\n".join([str(o) for o in args]))
> Slight nitpick.  If you are using version >= 2.4 you could use a
> generator expression instead of a list comprehension to avoid building
> and throwing away a list.
> "\n".join(str(o) for o in args)
> Very unlikely to yield a material time difference in this case but
> cleaner IMO.

Still nitpicking: using a generator expression in this case has no  
advantage. The first thing that str.join does is to create a list out of  
its argument (unless it is already a list or a tuple). In fact, a list  
comprehension is faster here.

Gabriel Genellina

More information about the Python-list mailing list