Is there a commas-in-between idiom?
Tim Peters
tim.peters at gmail.com
Sun Nov 5 08:27:10 EST 2006
]Ernesto García García]
> it's very common that I have a list and I want to print it with commas
> in between. How do I do this in an easy manner, whithout having the
> annoying comma in the end?
>
> <code>
>
> list = [1,2,3,4,5,6]
>
> # the easy way
> for element in list:
> print element, ',',
>
> print
>
>
> # this is what I really want. is there some way better?
> if (len(list) > 0):
More idiomatic as
if len(list) > 0:
and even more so as plain
if list:
> print list[0],
> for element in list[1:]:
> print ',', element,
Do you really want a space before and after each inter-element comma?
> </code>
An often-overlooked alternative to playing with ",".join() is:
print str(list)[1:-1]
That is, ask Python to change the list into a big string, and just
strip the brackets off each end:
>>> alist = ['a, bc', 4, True]
>>> print str(alist)[1:-1]
'a, bc', 4, True
Note the quotes around the string element! This differs from what
your code snippet above would produce (in addition to differing wrt
spaces around inter-element commas):
a, bc , 4 , True
More information about the Python-list
mailing list