Reputation: 1463
How can I convert a list into a space-separated string in Python?
For example, I want to convert this list:
my_list = ["how", "are", "you"]
into the string "how are you"
.
The spaces are important. I don't want to get "howareyou"
.
Upvotes: 136
Views: 269241
Reputation: 114038
" ".join(my_list)
You need to join with a space, not an empty string.
Upvotes: 288
Reputation: 11
you can iterate through it to do it
my_list = ['how', 'are', 'you']
my_string = " "
for a in my_list:
my_string = my_string + ' ' + a
print(my_string)
output is
how are you
you can strip it to get
how are you
like this
my_list = ['how', 'are', 'you']
my_string = " "
for a in my_list:
my_string = my_string + ' ' + a
print(my_string.strip())
Upvotes: 1
Reputation: 61
So in order to achieve a desired output, we should first know how the function works.
The syntax for join()
method as described in the python documentation is as follows:
string_name.join(iterable)
Things to be noted:
string
concatenated with the elements of iterable
. The separator between the elements being the string_name
. iterable
will raise a TypeError
Now, to add white spaces, we just need to replace the string_name
with a " "
or a ' '
both of them will work and place the iterable
that we want to concatenate.
So, our function will look something like this:
' '.join(my_list)
But, what if we want to add a particular number of white spaces
in between our elements in the iterable
?
We need to add this:
str(number*" ").join(iterable)
here, the number
will be a user input.
So, for example if number=4
.
Then, the output of str(4*" ").join(my_list)
will be how are you
, so in between every word there are 4 white spaces.
Upvotes: 5
Reputation: 1063
For Non String list
we can do like this as well
" ".join(map(str, my_list))
Upvotes: 14
Reputation: 313
I'll throw this in as an alternative just for the heck of it, even though it's pretty much useless when compared to " ".join(my_list)
for strings. For non-strings (such as an array of ints) this may be better:
" ".join(str(item) for item in my_list)
Upvotes: 29
Reputation: 1
Why don't you add a space in the items of the list itself, like :
list = ["how ", "are ", "you "]
Upvotes: -13