Документация по Python. Теоретические материалы, и практические задачи

Python string join

Метод python string join предназначен для объединения строк. В целом метод join() возвращает объединения элементов итерируемых  объектов.

  1. Списки
  2. Строки
  3. Кортежи
                    
text = ['Python', 'is', 'a', 'fun', 'programming', 'language']

# Объединяем элементы текста с пробелом
print(' '.join(text))

# Результат: Python is a fun programming language

Параметры метода join()

Метод join() принимает в качество входного параметра итерируемые объекты.

Метод join() является довольно гибким инструментом, который позволяет объединять итерируемые объекты. С помощью данного метода, мы можем объединять, и при этом использовать нужный нам разделитель, как это показано в примере выше.

Возвращаемые значения метода join()

  • Метод join() возвращает объединенную последовательность, с указанным разделителем
  • В случае, если итерируемый объект содержит какие-либо значения, которые нельзя объединить, то мы получаем исключение с ошибкой TypeError.

Пример 1. Работа с методом join()

                    
# .join() со списками
numList = ['1', '2', '3', '4']
separator = ', '
print(separator.join(numList))

# .join() с кортежем
numTuple = ('1', '2', '3', '4')
print(separator.join(numTuple))

s1 = 'abc'
s2 = '123'

# Каждый элемент s2 разделен элементами s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print('s1.join(s2):', s1.join(s2))

# Каждый элемент s1 разделен элементами s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print('s2.join(s1):', s2.join(s1))

#Результат
1, 2, 3, 4
1, 2, 3, 4
s1.join(s2): 1abc2abc3
s2.join(s1): a123b123c

Пример 2. Работа метода join() со множествами

                    
# .join() со множествами
test = {'2', '1', '3'}
s = ', '
print(s.join(test))

test = {'Python', 'Java', 'Ruby'}
s = '->->'
print(s.join(test))

#Результат
2, 3, 1
Python->->Ruby->->Java

Множества — это неупорядоченная коллекция последовательных элементов, соответственно при запуска программы, вы можете получить другой результат (случайный порядок).

Пример 3. Метод join() со словарями

                    
# .join() со словрями
test = {'mat': 1, 'that': 2}
s = '->'

# joins только ключи
print(s.join(test))

test = {1: 'mat', 2: 'that'}
s = ', '

# генерируем ошибку, так как ключ не является строкой
print(s.join(test))

#Результат
mat->that
Traceback (most recent call last):
  File "...", line 12, in <module>
TypeError: sequence item 0: expected str instance, int found

Чуть выше мы говорили про ошибку TypeError. В данном случае, эта ошибка вызывается из за того, что ключ не является строкой.э