Convert a list to a space-separated string in Python


Borislav Hadzhiev

Last updated: Aug 30, 2022


Photo from Unsplash

Convert a list to a space-separated string in Python #

To convert a list to a space-separated string:

  1. Call the join() method on a string that contains a space.
  2. Pass the list to the join() method.
  3. The method will return a space-separated string.
my_list = ['one', 'two', 'three'] my_str = ' '.join(my_list) print(my_str) # 👉️ 'one two three'

The str.join method takes an iterable as an argument and returns a string which is the concatenation of the strings in the iterable.

Note that the method raises a TypeError if there are any non-string values in the iterable.

If your list contains numbers or other types, convert all of the values to string before calling join().
my_list = ['one', 1, 'two', 2, 'three', 3] my_str = ' '.join(map(str, my_list)) print(my_str) # 👉️ 'one 1 two 2 three 3'

The map() function takes a function and an iterable as arguments and calls the function with each item of the iterable.

We used the function to convert each item in the list to a string, before passing the items to the str.join() method.

The string the join() method is called on is used as the separator between elements.
my_list = ['one', 'two', 'three'] my_str = '-'.join(map(str, my_list)) print(my_str) # 👉️ 'one-two-three'

To join the list items into a string with a space separator, call the join method on a string that contains a space.
my_list = ['a', 'b', 'c'] my_str = ' '.join(map(str, my_list)) print(my_str) # 👉️ 'a b c'

If you don't need a separator and just want to join the iterable's elements into a string, call the join() method on an empty string.
my_list = ['a', 'b', 'c'] my_str = ''.join(map(str, my_list)) print(my_str) # 👉️ 'abc'
I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.