English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Python

Контроль потоков Python

Функции в Python

Типы данных в Python

Операции с файлами Python

Объекты и классы Python

Даты и время Python

Продвинутые знания Python

Руководство Python

Метод join() строки в Python с примерами

Методы строк Python

join() - это метод строки, который возвращает строку, состоящую из соединенных элементов iterable.

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

Синтаксис join()

string.join(iterable)

Параметр join()

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

Некоторые примеры итеративных объектов:

Возвратное значение join()

Метод join() возвращает строку, состоящую из скомбинированных элементов iterable.

Если iterable содержит любые значения, не являющиеся строками, то будет вызванTypeErrorИсключение.

Пример 1: как работает метод join()?

numList = ['1', '2', '3', '4']
seperator = ', '
print(seperator.join(numList))
numTuple = ('1', '2', '3', '4')
print(seperator.join(numTuple))
s1 = 'abc'
s2 = '123'
"""Каждый символ s2 подключается к началу s1""" 
print('s1.join(s2):', s1.join(s2))
"""Каждый символ s1 подключается к началу s2""" 
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() для множества?

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() для словаря?

test = {'mat': 1, 'that': 2}
s = '->'
print(s.join(test))
test = {1:'mat', 2:'that'}
s = ', '
# это вызывает ошибку
print(s.join(test))

При выполнении этого программы, вывод будет:

mat->that
Traceback (most recent call last):
  File "...", line 9, in <module>
TypeError: sequence item 0: expected str instance, int found

Метод join() пытается объединить ключи словаря (а не значения) в строку. Если ключ строки не является строкой,则会引发TypeErrorИсключение. 

Методы строк Python