How can I convert a list to a string in Python?
We can do this using Python’s str.join()
method. This method takes an iterable, such as a list, and returns a new string containing the iterable’s elements, concatenated with the original string as a separator. Consider the following examples:
fullname = " ".join(["John","Smith"]) print(fullname) # will output "John Smith" firstname = "".join(["J","o","h","n"]) print(firstname) # will output "John" fullname_alt = ", ".join(["Smith","John"]) print(fullname_alt) # will output "Smith, John"
If the list contains any non-string items, this method will raise a TypeError, so we may need to cast items to strings before using it. We can do this with a list comprehension:
my_numbers = [13, 7, 42] my_string = " ".join([str(number) for number in my_numbers]) print(my_string) # will output "13 7 42"