The string join[]
method returns a string by joining all the elements of an iterable [list, string, tuple], separated by the given separator.
Example
text = ['Python', 'is', 'a', 'fun', 'programming', 'language']
# join elements of text with space
print[' '.join[text]]
# Output: Python is a fun programming language
Syntax of String join[]
The syntax of the join[]
method is:
string.join[iterable]
join[] Parameters
The join[]
method takes an iterable [objects capable of returning its members one at a time] as its parameter.
Some of the example of iterables are:
- Native data types - List, Tuple, String, Dictionary and Set.
- File objects and objects you define with an
__iter__[]
or__getitem[]__
method.
Note: The join[]
method provides a flexible way to create strings from iterable objects. It joins each element of an iterable [such as list, string, and tuple] by a string separator [the string on which the join[]
method is called] and returns the concatenated string.
Return Value from join[]
The join[]
method returns a string created by joining the elements of an iterable by the given string separator.
If
the iterable contains any non-string values, it raises the TypeError
exception.
Example 1: Working of the join[] method
# .join[] with lists
numList = ['1', '2', '3', '4']
separator = ', '
print[separator.join[numList]]
# .join[] with tuples
numTuple = ['1', '2', '3', '4']
print[separator.join[numTuple]]
s1 = 'abc'
s2 = '123'
# each element of s2 is separated by s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print['s1.join[s2]:', s1.join[s2]]
# each element of s1 is separated by s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print['s2.join[s1]:', s2.join[s1]]
Output
1, 2, 3, 4 1, 2, 3, 4 s1.join[s2]: 1abc2abc3 s2.join[s1]: a123b123c
Example 2: The join[] method with sets
# .join[] with sets
test = {'2', '1', '3'}
s = ', '
print[s.join[test]]
test = {'Python', 'Java', 'Ruby'}
s = '->->'
print[s.join[test]]
Output
2, 3, 1 Python->->Ruby->->Java
Note: A set is an unordered collection of items, so you may get different output [order is random].
Example 3: The join[] method with dictionaries
# .join[] with dictionaries
test = {'mat': 1, 'that': 2}
s = '->'
# joins the keys only
print[s.join[test]]
test = {1: 'mat', 2: 'that'}
s = ', '
# this gives error since key isn't string
print[s.join[test]]
Output
mat->that Traceback [most recent call last]: File "...", line 12, in TypeError: sequence item 0: expected str instance, int found
The join[]
method tries to join the keys [not values] of the dictionary with the string separator.
Note: If the key of the string is not a string, it raises the TypeError
exception.
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
join[] is an inbuilt string function in Python used to join elements of the sequence separated by a string separator. This function joins elements of a sequence and makes it a string.
Syntax: string_name.join[iterable]
Parameters:
- Iterable – objects capable of returning their members one at a time. Some examples are List, Tuple, String, Dictionary, and Set
Return Value: The join[] method returns a string concatenated with the elements of iterable.
Type Error: If the iterable contains any non-string values, it raises a TypeError exception.
Example 1: Joining with an empty string
Here, we join the list of elements using the join method.
Python3
list1
=
[
'g'
,
'e'
,
'e'
,
'k'
,
's'
]
print
["".join[list1]]
list1
=
" geeks "
print
[
"$"
.join[list1]]
Output:
geeks $g$e$e$k$s$
Example 2: Joining String with lists using join[]
Here, we join the tuples of elements using the join[] method in which we can put any character to join with a string.
Python3
list1
=
[
'1'
,
'2'
,
'3'
,
'4'
]
s
=
"-"
s
=
s.join[list1]
print
[s]
Output:
1-2-3-4
Example 3: Joining String with sets using join[]
In this example, we are using a Python set to join the string.
Note: Set contains only unique value therefore out of two 4 one 4 is printed.
Python3
list1
=
{
'1'
,
'2'
,
'3'
,
'4'
,
'4'
}
s
=
"-#-"
s
=
s.join[list1]
print
[s]
Output:
1-#-3-#-2-#-4
Example 4: Joining String with a dictionary using join[]
When joining a string with a dictionary, it will join with the keys of a Python dictionary, not with values.
Python3
dic
=
{
'Geek'
:
1
,
'For'
:
2
,
'Geeks'
:
3
}
string
=
'_'
.join[dic]
print
[string]
Output:
'Geek_For_Geeks'