Search code examples
pythonstringcollectionsformattingstring-formatting

How to turn a list/tuple into a space separated string in python using a single line?


I tried doing:

str = ""
"".join(map(str, items))

but it says str object is not callable. Is this doable using a single line?


Solution

  • Use string join() method.

    List:

    >>> l = ["a", "b", "c"]
    >>> " ".join(l)
    'a b c'
    >>> 
    

    Tuple:

    >>> t = ("a", "b", "c")
    >>> " ".join(t)
    'a b c'
    >>> 
    

    Non-string objects:

    >>> l = [1,2,3]
    >>> " ".join([str(i) for i in l])
    '1 2 3'
    >>> " ".join(map(str, l))
    '1 2 3'
    >>>