Join a list of integers into a string in Python

avatar

Borislav Hadzhiev

Last updated: Jun 18, 2022

banner

Check out my new book

Join a list of integers into a string in Python #

To join a list of integers into a string:

  1. Use the map() function to convert the integers in the list to stings.
  2. Call the str.join() method on a string separator.
  3. Pass the map object to the join() method.
main.py
my_list = [1, 2, 3, 4, 5] my_str = ', '.join(map(str, my_list)) print(my_str) # 👉️ "1, 2, 3, 4, 5"

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.

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

main.py
my_list = [1, 2, 3, 4, 5] # 👇️ ['1', '2', '3', '4', '5'] print(list(map(str, my_list)))

We simply passed each integer to the str() class to get a map object that only contains strings.

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

main.py
my_list = [1, 2, 3, 4, 5] my_str = '-'.join(map(str, my_list)) print(my_str) # 👉️ "1-2-3-4-5"

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.

main.py
my_list = [1, 2, 3, 4, 5] my_str = ''.join(map(str, my_list)) print(my_str) # 👉️ "12345"

This approach also works if your list contains both strings and integers.

main.py
my_list = [1, 'a', 2, 'b', 3, 'c', 4, 'd', 5] my_str = ', '.join(map(str, my_list)) print(my_str) # 👉️ "1, a, 2, b, 3, c, 4, d, 5"

Alternatively, you can pass a generator expression to the join() method.

To join a list of integers into a string:

  1. Call the join() method on a string separator.
  2. Pass a generator expression to the join() method.
  3. On each iteration, pass the list item to the str() class to convert it to a string.
main.py
my_list = [1, 2, 3, 4, 5] result = ', '.join(str(item) for item in my_list) print(result) # 👉️ "1, 2, 3, 4, 5"
Generator expressions are used to perform some operation for every element or select a subset of elements that meet a condition.

We used a generator expression to convert each item to a string by passing it to the str() class.

Use the search field on my Home Page to filter through my more than 3,000 articles.