Custom string joining

Chris Rebert clp2 at rebertia.com
Sat May 7 10:25:58 EDT 2011


On Sat, May 7, 2011 at 5:31 AM, Claudiu Popa <cpopa at bitdefender.com> wrote:
> Hello Python-list,
>
> I  have  an object which defines some methods. I want to join a list or
> an iterable of those objects like this:
>
> new_string = "|".join(iterable_of_custom_objects)
>
> What   is   the   __magic__  function that needs to be implemented for
> this case to work?  I  though  that  __str__  is sufficient but it doesn't seems to
> work. Thanks in advance.

You need to do the string conversion yourself; .join() doesn't do it
for you, due to strong typing. It only accepts iterables of strings:
new_string = "|".join(str(x) for x in iterable_of_custom_objects)

Cheers,
Chris
--
http://rebertia.com



More information about the Python-list mailing list