I tried doing:
str = ""
"".join(map(str, items))
but it says str object is not callable. Is this doable 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?
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'
>>>
The problem is map need function as first argument.
Your code
str = ""
"".join(map(str, items))
Make str function as str variable which has empty string.
Use other variable name.
Your map() call isn't working because you overwrote the internal str() function. If you hadn't done that, this works:
In [25]: items = ["foo", "bar", "baz", "quux", "stuff"]
In [26]: "".join(map(str, items))
Out[26]: 'foobarbazquuxstuff'
Or, you could simply do:
In [27]: "".join(items)
Out[27]: 'foobarbazquuxstuff'
assuming items contains strings. If it contains ints, floats, etc., you'll need map().
Try:
>>> items=[1, 'a', 2.3, (1, 2)]
>>> ' '.join(str(i) for i in items)
'1 a 2.3 (1, 2)'