str.join(iterable)

Returns a string. Uses the string str to join strings from
iterable. Raises TypeError for non-string found in iterable including
object of bytes.

>>> # the iterable consists of number
>>> try:
>>>         print "-".join([0, 1, 2, 3])
>>> except TypeError:
>>>         print "A non-string is found in the iterable."
A non-string is found in the iterable.

>>> # the iterable consists of string
>>> try:
>>>         print ", ".join(["x", "y", "z", "0", "1", "2", "3"])
>>>         print " - ".join(["x", "y", "z", "0", "1", "2", "3"])
>>>         print " + ".join(["x", "y", "z", "0", "1", "2", "3"])
>>> except TypeError:
>>>         print "A non-string is found in the iterable."
x, y, z, 0, 1, 2, 3
x - y - z - 0 - 1 - 2 - 3
x + y + z + 0 + 1 + 2 + 3