Print all items in a list with a delimiter in Python

avatar

Borislav Hadzhiev

Last updated: Sep 11, 2022

banner

Photo from Unsplash

Print all items in a list with a delimiter in Python #

To print all items in a list with a delimiter:

  1. Use the str.join() method to join the list into a string with a delimiter.
  2. Use the print() function to print the string.
main.py
list_of_strings = ['bobby', 'hadz', 'com'] # ✅ Print list of strings with a delimiter result = ','.join(list_of_strings) print(result) # 👉️ bobby,hadz,com # --------------------------------------------- # ✅ Print list of numbers with a delimiter list_of_numbers = [2, 4, 8] result = ','.join(str(item) for item in list_of_numbers) print(result) # 👉️ 2,4,8

We used the str.join() method to join the list into a string with a delimiter.

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 = [2, 4, 8] result = ','.join(str(item) for item in list_of_numbers) print(result) # 👉️ 2,4,8

We used a generator expression to iterate over the list.

Generator expressions are used to perform some operation for every element or select a subset of elements that meet a condition.

On each iteration, we use the str() class to convert the number to a string.

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

main.py
list_of_strings = ['bobby', 'hadz', 'com'] result = ' '.join(list_of_strings) print(result) # 👉️ bobby hadz com

Alternatively, you can use the sep argument in the call to the print() function.

Print all items in a list with a delimiter using sep argument #

Use the sep argument to print all items in a list with a delimiter, e.g. print(*my_list, sep=','). The print() function will print the items in the list separated by the specified sep argument.

main.py
list_of_strings = ['bobby', 'hadz', 'com'] print(*list_of_strings, sep=',') # 👉️ bobby,hadz,com print(*list_of_strings, sep=' ') # 👉️ bobby hadz com print(*list_of_strings, sep='-') # 👉️ bobby-hadz-com
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.

Make sure to unpack the items of the list when using the sep argument to print them with a delimiter.

main.py
list_of_strings = ['bobby', 'hadz', 'com'] print(*list_of_strings, sep=', ') # 👉️ bobby, hadz, com
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.