Print a list of space-separated elements in Python

avatar

Borislav Hadzhiev

Last updated: Sep 11, 2022

banner

Photo from Unsplash

Print a list of space-separated elements in Python #

Use the sep argument to print a list of space-separated elements, e.g. print(*my_list, sep=' '). The items in the list will get unpacked in the call to the print() function and will get printed in a single line, separated by spaces.

main.py
my_list = ['bobby', 'hadz', 'com'] print(*my_list, sep=' ') # 👉️ bobby hadz com print(*my_list, sep=', ') # 👉️ bobby, hadz, com

We used the sep argument to separate the elements of a list by spaces when printing the list.

Notice that we used the iterable unpacking * operator to unpack the items of the list in the call to print().

The * iterable unpacking operator enables us to unpack an iterable in function calls, in comprehensions and in generator expressions.

The sep argument is the separator between the arguments we pass to print().

main.py
print('bobby', 'hadz', sep='') # 👉️ bobbyhadz print('bobby', 'hadz') # 👉️ bobby hadz

By default, the sep argument is set to a space.

Alternatively, you can use the str.join() method.

Print a list of space-separated elements using str.join() #

To print a list of space-separated elements:

  1. Use the str.join() method to join the list into a string with a space separator.
  2. If the list contains numbers, convert them to strings.
  3. Use the print() function to print the string.
main.py
list_of_strings = ['bobby', 'hadz', '.com'] result = ' '.join(list_of_strings) print(result) # 👉️ bobby hadz .com # --------------------------------------------- list_of_numbers = [55, 10, 44] result = ' '.join(str(item) for item in list_of_numbers) print(result) # 👉️ 55 10 44

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 strings before calling join().

main.py
list_of_numbers = [55, 10, 44] result = ' '.join(str(item) for item in list_of_numbers) print(result) # 👉️ 55 10 44

The string the join() method is called on is used as the separator between the elements.

main.py
list_of_numbers = [55, 10, 44] result = ', '.join(str(item) for item in list_of_numbers) print(result) # 👉️ 55, 10, 44

You can also use the map() function to convert all items in the list to strings before calling join().

main.py
jlist_of_numbers = [55, 10, 44] result = ' '.join(map(str, list_of_numbers)) print(result) # 👉️ 55 10 44

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

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.