Метод python Join — объединение списка в строку с примерами
Метод join
в Python отвечает за объединение списка строк с помощью определенного указателя. Часто это используется при конвертации списка в строку. Например, так можно конвертировать список букв алфавита в разделенную запятыми строку для сохранения.
Метод принимает итерируемый объект в качестве аргумента, а поскольку список отвечает этим условиям, то его вполне можно использовать. Также список должен состоять из строк. Если попробовать использовать функцию для списка с другим содержимым, то результатом будет такое сообщение: TypeError: sequence item 0: expected str instance, int found
.
Посмотрим на короткий пример объединения списка для создания строки.
Копировать Скопировано Use a different Browser
vowels = ["a", "e", "i", "o", "u"] vowels_str = ",".join(vowels) print("Строка гласных:", vowels_str)
Этот скрипт выдаст такой результат:
Строка гласных: a,e,i,o,u
Почему join() — метод строки, а не списка?
Многие часто спрашивают, почему функция join()
относится к строке, а не к списку. Разве такой синтаксис не было бы проще запомнить?
vowels_str = vowels.join(",")
Это популярный вопрос на StackOverflow, и вот простой ответ на него:
Функция
join()
может использоваться с любым итерируемым объектом, но результатом всегда будет строка, поэтому и есть смысл иметь ее в качестве API строки.
Объединение списка с несколькими типами данных
Посмотрим на программу, где предпринимается попытка объединить элементы списка разных типов:
Копировать Скопировано Use a different Browser
names = ['Java', 'Python', 1] delimiter = ',' single_str = delimiter.join(names)
Вывод:
Traceback (most recent call last): File "test.py", line 3, in <module> single_str = delimiter.join(names) TypeError: sequence item 2: expected str instance, int found
Это лишь демонстрация того, что join
нельзя использовать для объединения элементов разного типа. Только строковые значения.
Что бы избежать этой ошибки, превратите все элементы списка в строки:
Копировать Скопировано Use a different Browser
names = ['Java', 'Python', 1] names = [str(i) for i in names]
Разбитие строки с помощью join
Также функцию join()
можно использовать, чтобы разбить строку по определенному разделителю.
Копировать Скопировано Use a different Browser
>>> print(",".join("Python")) P,y,t,h,o,n
Если передать в качестве аргумента функции строку, то она будет разбита по символам с определенным разделителем.
Обратное преобразование строки в список
Помимо join()
есть и функция split()
, которая используется для разбития строки. Она работает похожим образом. Посмотрим на код:
Копировать Скопировано Use a different Browser
names = ['Java', 'Python', 'Go'] delimiter = ',' single_str = delimiter. join(names) print('Строка: {0}'.format(single_str)) split = single_str.split(delimiter) print('Список: {0}'.format(split))
Вывод:
Строка: Java,Python,Go Список: ['Java', 'Python', 'Go']
Вот и все что нужно знать об объединении и разбитии строк.
Максим
Я создал этот блог в 2018 году, чтобы распространять полезные учебные материалы, документации и уроки на русском. На сайте опубликовано множество статей по основам python и библиотекам, уроков для начинающих и примеров написания программ.
Python Q https://yandex.ru/q/loves/python Online
Python QCEO [email protected]://secure.gravatar.com/avatar/b16f253879f7349f64830c64d1da4415?s=96&d=mm&r=gCEO PythonruPythonАлександрРедакторhttps://t.me/cashncarryhttps://pythonru.com/https://yandex.ru/q/profile/cashnc/[email protected] Zabrodin2018-10-26OnlinePython, Programming, HTML, CSS, JavaScriptкак работает функция, описание метода с примерами
Строковый метод join() возвращает строку, объединяя все элементы итерации, разделенные разделителем строк.
Метод в Python предоставляет гибкий способ создания строк из повторяемых объектов. Он объединяет каждый элемент итерируемого объекта (например, список, строку и кортеж) с помощью разделителя строк и возвращает объединенную строку.
Синтаксис:
string.join(iterable)
Параметры метода
Функция принимает в качестве параметра итерацию (объекты, способные возвращать свои члены по одному).
Вот некоторые из примеров итераций:
- Собственные типы данных ‒ список, кортеж, строка, словарь и набор.
- Файловые объекты и объекты, которые вы определяете с помощью метода __iter __() или __getitem() __.
Возвращаемое значение из метода
Команда возвращает строку, созданную путем соединения элементов итерации с помощью разделителя строк.
Если итерируемый объект содержит какие-либо не строковые значения, он вызывает исключение TypeError.
Пример 1: Работа метода
# . 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))
Выход
1, 2, 3, 4 1, 2, 3, 4 s1.join(s2): 1abc2abc3 s2.join(s1): a123b123c
Пример 2: Метод с множествами
# .join() with sets 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() 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))
Выход
mat->that Traceback (most recent call last): File "...", line 12, in <module> TypeError: sequence item 0: expected str instance, int found
Метод пытается соединить ключи (не значения) словаря с помощью разделителя строк.
Примечание: Если ключ строки не является строкой, возникает исключение TypeError.
60132cookie-checkМетод join() в Pythonyes
МетодPython String join()
Улучшить статью
Сохранить статью
- Уровень сложности: Базовый
- Последнее обновление: 13 сент, 2022
Посмотреть обсуждение
Улучшить статью
Сохранить статью
join() — встроенная строковая функция в Python, используемая для соединения элементов последовательности, разделенных разделителем строк. Эта функция объединяет элементы последовательности и превращает ее в строку.
Пример 1: Соединение с помощью пустой строкиСинтаксис: string_name .join(iterable)
Параметры:
- Iterable — объекты, способные возвращать свои члены по одному. Некоторые примеры: List, Tuple, String, Dictionary , и Set
Возвращаемое значение: Метод join() возвращает строку, объединенную с элементами
iterable . Ошибка типа : Если итерируемый объект содержит какие-либо нестроковые значения, возникает исключение TypeError.
Здесь мы соединяем список элементов, используя метод соединения.
Python3
| 975. Join (List1)) 900399.Join.
$g$e$e$k$s$
1-2-3-4 Пример 3:Соединение строки с наборами с помощью join()В этом примере мы используем набор Python для соединения строки. Примечание: Набор содержит только уникальное значение, поэтому из двух 4 печатается одна 4. Python3
Выход: 1-#-3-#-2-#-4Пример 4: Соединение Строситель с помощью DO DICTY, с помощью DO DAICTORY.). При соединении строки со словарем она будет соединяться с ключами словаря Python, а не со значениями. Python3
Вывод: 'Geek_For_Geeks' Python String join()В этом руководстве мы узнаем о методе Python String join() с помощью примеров. Метод string Примерtext = ['Python', 'is', 'a', 'fun', 'programming', 'language'] Синтаксис String join() Синтаксис метода string.join(iterable) Метод join() принимает итерируемый объект (объекты, способные возвращать свои элементы по одному) в качестве параметра.Некоторые примеры итерируемых объектов:
Примечание : метод Возвращаемое значение функции join() Метод Если итерируемый объект содержит какие-либо нестроковые значения, возникает исключение Пример 1: Работа метода join()# .join() со списками numList = ['1', '2', '3', '4'] разделитель = ', ' Вывод 1, 2, 3, 4 1, 2, 3, 4 s1.join(s2): 1abc2abc3 s2.join(s1): a123b123c Пример 2: метод join() с наборами# .join() с наборами тест = {'2', '1', '3'} с = ', ' Вывод 2, 3, 1 Python->->Ruby->->Java Примечание: Набор — это неупорядоченный набор элементов, поэтому вы можете получить другой вывод (порядок случайный). Пример 3: Метод join() со словарями# .join() со словарями тест = {'мат': 1, 'это': 2} с = '->' # соединяет только ключи |