Borislav Hadzhiev
Last updated: Jul 4, 2022
Photo from Unsplash
To sum strings in Python:
str.join()
method on an empty string.join()
method.my_list = ['a', 'b', 'c'] # ✅ sum list of strings # 👇️ without a separator my_str = ''.join(my_list) print(my_str) # 👉️ 'abc' # 👇️ with a space separator my_str_2 = ' '.join(my_list) print(my_str_2) # 👉️ 'a b c' # 👇️ with comma separator my_str_3 = ', '.join(my_list) print(my_str_3) # 👉️ 'a, b, c'
The str.join method takes an iterable as an argument and returns a string which is the concatenation of the strings in the iterable.
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 = ['a', 1, 'b', 2, 'c', 3] my_str = ''.join(map(str, my_list)) print(my_str) # 👉️ 'a1b2c3'
The map() function takes a function and an iterable as arguments and calls the function with each item of the iterable.
str.join()
method.The string the join()
method is called on is used as the separator between
elements.
my_list = ['a', 'b', 'c'] my_str = '-'.join(my_list) print(my_str) # 👉️ 'a-b-c'
If you need to join the list of strings with spaces, call the method on a string that contains a space.
my_list = ['a', 'b', 'c'] # 👇️ with a space separator my_str = ' '.join(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(my_list) print(my_str) # 👉️ 'abc'