Joins all items in an iterable into a single string
Usage
The join() method joins all items in an iterable into a single string. Call this method on a string you want to use as a delimiter like comma, space etc.
If there are any non-string values in iterable, a TypeError will be raised.
Syntax
string.join(iterable)
| Parameter | Condition | Description |
| iterable | Required | Any iterable (like list, tuple, dictionary etc.) whose items are strings |
Return Value
The method returns the string obtained by concatenating the items of an iterable.
Basic Examples
# Join all items in a list with comma
L = ['red', 'green', 'blue']
x = ','.join(L)
print(x)
# Prints red,green,blue# Join list items with space
L = ['The', 'World', 'is', 'Beautiful']
x = ' '.join(L)
print(x)
# Prints The World is Beautiful# Join list items with newline
L = ['First Line', 'Second Line']
x = '\n'.join(L)
print(x)
# First Line
# Second LineA delimiter can contain multiple characters.
L = ['the beginning', 'the end', 'the beginning']
x = ' is '.join(L)
print(x)
# Prints the beginning is the end is the beginningjoin() on Iterable of Size 1
join() method is smart enough to insert the delimiter in between the strings rather than just adding at the end of every string. So, if you pass an iterable of size 1, you won’t see the delimiter.
L = ['red']
x = ','.join(L)
print(x)
# Prints redJoin a List of Integers
If there are any non-string values in iterable, a TypeError will be raised.
L = [1, 2, 3, 4, 5, 6]
x = ','.join(L)
print(x)
# Triggers TypeError: sequence item 0: expected string, int foundTo avoid such exception, you need to convert each item in a list to string. The list comprehension makes this especially convenient.
L = [1, 2, 3, 4, 5, 6]
x = ','.join(str(val) for val in L)
print(x)
# Prints 1,2,3,4,5,6join() on Dictionary
When you use a dictionary as an iterable, all dictionary keys are joined by default.
L = {'name':'Bob', 'city':'seattle'}
x = ','.join(L)
print(x)
# Prints city,nameTo join all values, call values() method on dictionary and pass it as an iterable.
L = {'name':'Bob', 'city':'seattle'}
x = ','.join(L.values())
print(x)
# Prints seattle,BobTo join all keys and values, use join() method with list comprehension.
L = {'name':'Bob', 'city':'seattle'}
x = ','.join('='.join((key,val)) for (key,val) in L.items())
print(x)
# Prints city=seattle,name=Bobjoin() vs Concatenation operator +
Concatenation operator + is perfectly fine solution to join two strings. But if you need to join more strings, it is convenient to use join() method.
# concatenation operator
x = 'aaa' + 'bbb'
print(x)
# Prints aaabbb
# join() method
x = ''.join(['aaa','bbb'])
print(x)
# Prints aaabbb