Python: как преобразовать список в строку

    Команда Simple-Server
    03.06.2026
    4 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Способ №1. Преобразование с использованием функции join()

    Это самый популярный метод трансформирования списка в строку, а выполняется он при помощи функции join() с разделителем. Чтобы было понятнее, приведем несколько примеров:

    >>> words = ['каждый','охотник','желает','знать','где','сидит','фазан'] >>> print(" ".join(words)) каждый охотник желает знать где сидит фазан >>> products = ['milk','cheese','bread','sausage','butter','cocoa','eggs'] >>> print(" ".join(products)) milk cheese bread sausage butter cocoa eggs

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

    >>> champs = ['топ', 5, 'футбольных', 'чемпионатов', 'Европы', '-', 'Испания', 'Италия', 'Франция', 'Англия', 'Германия'] >>> print(" ".join(champs)) Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> print(" ".join(champs)) TypeError: sequence item 1: expected str instance, int found

    Всё дело в том, что для корректного вывода здесь нужно выполнить преобразование отдельных элементов в строчные значения, а это реализуется при помощи специальной функции.

    Способ №2. Конструкция join() + map()

    Исключить ошибку выше поможет данный способ, в котором задействуется еще одна функция, map(), причем со встроенной функцией str, которая используется для преобразования любых аргументов в строковые значения. Вот как это выглядит в коде:

    >>> champs = ['топ', 5, 'футбольных', 'чемпионатов', 'Европы', '-', 'Испания', 'Италия', 'Франция', 'Англия', 'Германия'] >>> print(" ".join(map(str,champs))) топ 5 футбольных чемпионатов Европы - Испания Италия Франция Англия Германия

    Итак, при помощи функции join() и разделителя мы вывели элементы списка в виде строки, а функция map() со встроенной функцией str помогла нам объединить элементы разных типов. Рассмотрим еще один пример:

    >>> numbers = [3, 5, 7, 9, 11, 13, 15, 17] >>> print(" ".join(map(str,numbers))) 3 5 7 9 11 13 15 17

    Первый способ здесь бы тоже не сработал, поскольку в списке есть числовые значения, поэтому использовали вариант join() + map().

    Способ №3. Преобразование при помощи цикла

    В данном случае циклическое программирование не самый удобный способ преобразования списка в строку, однако он подойдет для новичков, которые еще не знакомы с большинством функций. Вот как это реализуется при помощи цикла for:

    >>> clubs = [7, 'ведущих', 'европейских', 'клубов', '-', 'Реал', 'Барселона', 'МЮ', 'Челси', 'Бавария', 'Милан', 'Ювентус'] >>> string = ' ' >>> for j in clubs: string += str(j)+ ' '     >>> print(string) 7 ведущих европейских клубов - Реал Барселона МЮ Челси Бавария Милан Ювентус

    Мы задали список и ввели дополнительную переменную, чтобы реализовать вывод строки (для наглядности переменная получила имя string) после перебора значений с помощью типичной конструкции for.

    Как преобразовать строку в список в Python 3

    В этой главе рассмотрим обратный процесс преобразования. Операция эта тоже несложная и реализуется с помощью функции split() вот так:

    >>> products = 'milk cheese bread sausage butter cocoa eggs' >>> print(f'products list ={products.split()}') products list =['milk', 'cheese', 'bread', 'sausage', 'butter', 'cocoa', 'eggs']

    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны