Как преобразовать список в строку в Python с помощью методов и циклов / Skillbox Media
#статьи- 0
Рассказываем о методе join() и других полезных инструментах для конвертирования Python‑списков в строки.
Vkontakte Twitter Telegram Скопировать ссылкуИван Стуков
Журналист, изучает Python. Любит разбираться в мелочах, общаться с людьми и понимать их.
В Python существует два основных способа сделать из списка строку: с помощью цикла и с помощью метода join(). У обоих есть нюансы, о которых мы сейчас расскажем.
Более понятный для новичка, но и более громоздкий способ перевести список в строку — воспользоваться циклом. Если вы уже знаете его и просто хотите узнать более эффективный и быстрый метод, то сразу переходите к следующему разделу. А если нет, то давайте разбираться.
Как это работает: мы создаём пустую строку, потом с помощью цикла переберём каждый элемент списка и на каждой итерации будем добавлять к строке текущий элемент списка.
lst = ['Преобразование','через','цикл']
#Создаём пустую строку
string = ''
#По очереди добавляем к ней каждый элемент списка
for el in lst:
string += el
print(string)
>>> Преобразованиечерезцикл
Код в онлайн-интерпретаторе: https://trinket. io/python/7146bb558c
Однако такой код не будет работать, если в списке есть не только строки, но и, например, числа. Дело в том, что в Python нельзя смешивать данные разных типов.
#Создаём список, в котором есть как строки, так и цифры
lst = ['Преобразование','через','цикл', 2]
string = ''
for el in lst:
string += str(el) #Превращаем каждый элемент списка в строку
print(string)
>>> Преобразованиечерезцикл2
Код в онлайн-интерпретаторе: https://trinket.io/python/4982cbf618
Если нужно установить разделитель между строками, то для него нужно прописать отдельную строчку кода внутри цикла.
lst = ['Преобразование','через','цикл', 3]
string = ''
for el in lst:
#Добавляем к строке элемент списка
string += str(el)
#Добавляем к строке разделитель — в данном случае пробел
string += ' '
print(string)
>>> Преобразование через цикл 3
Код в онлайн-интерпретаторе: https://trinket. io/python/f72166a90b
Обратите внимание: раз мы добавляем разделитель на каждой итерации, пробел будет и после цифры 3 нашего последнего элемента. Это легко проверить, если вместо пробела добавлять какой-то другой, видимый символ.
Эту проблему можно решить — ещё больше усложнив код. Например, введя условие, которое проверяет, последний это элемент в списке или нет. Однако гораздо проще и удобнее превратить список в строку, используя встроенный метод join().
Метод join(), по сути, делает всё то же самое, что и наш цикл, но лучше, удобнее и занимает всего одну строку. Вот как его применяют:
string.join(lst)
В качестве аргумента lst он получает список, элементы которого и будет объединять в строку, а string — это разделитель. Если мы не хотим его устанавливать, то в качестве string нужно указать пустую строку.
Посмотрим, как join() применяется на практике.
lst = ['Преобразование', 'через', 'метод', 'join()']
#Объединяем элементы списка с пустым разделителем
print(''.join(lst))
>>> Преобразованиечерезметодjoin()
#Устанавливаем пробел в качестве разделителя
print(' '.join(lst))
>>> Преобразование через метод join()
Код в онлайн-интерпретаторе: https://trinket.io/python/70dfcc02e6
Заметили особенность? Разделители ставятся только между элементами, а не после каждого элемента, как было в нашем цикле. join() — умница. Однако и тут есть ахиллесова пята: если в списке встречаются нестроковые элементы, мы получим ошибку. Чтобы этого избежать, надо опять-таки сначала превратить все нестроки в строки. Сделать это можно двумя способами.
Выражение-генератор — это конструкция, которая позволяет провести операцию над каждым элементом списка. Оно возвращает генератор, с которым метод join() обращается точно так же, как и со списками.
lst = [1, 1.2, 'строка', False]
print(' '.join(str(el) for el in lst))
>>> 1 1.2 строка False
Код в онлайн-интерпретаторе: https://trinket.io/python/5ed8ff749c
Конструкция str(el)
Функция map() умеет делать то же самое, что и выражение-генератор, но их синтаксис отличается. В качестве первого аргумента она принимает саму операцию, в качестве второго — список, к элементам которого эта операция применяется.
lst = [1, 1.2, 'строка', False]
print(' '.join(map(str, lst)))
>>> 1 1. 2 строка False
Ссылка на онлайн-интерпретатор: https://trinket.io/python/11dceac18d
Конструкция map(str, lst) означает, что каждый элемент в списке lst
будет превращён в строку с помощью функции str. Обратите внимание, что в качестве аргумента в map() передаётся только название функции, без скобок.Преобразовать список в строку можно с помощью цикла, но для этого есть и более удобный инструмент — метод join().
Если содержит нестроковые элементы, то их для начала придётся превратить в строки — иначе выскочит ошибка. Для этого можно воспользоваться выражением-генератором или функцией map().
Читайте также:
Vkontakte Twitter Telegram Скопировать ссылку Научитесь:Учёные разработали ионную кожу, которая даст роботам тактильные ощущения 28 апр 2023
Windows 11 теперь принимает звонки, сообщения и уведомления с iPhone 27 апр 2023
«Сбер» представил конкурента ChatGPT под названием GigaChat 24 апр 2023
Понравилась статья?
ДаКонвертировать строку в список в Python
Автор оригинала: Pankaj Kumar.
Вступление
Хотя программированием нам может потребоваться преобразовать строка к Список в питоне. Это может быть по любой другой причине. Но возникает вопрос, как мы можем преобразовать строку в разные формы списков?
Итак, здесь, в этом руководстве, мы собираемся узнать, как мы можем преобразовать строку в список Python Отказ
Методы преобразования строки в список в Python
Преобразование строки в список в Python – довольно легкая работа. Это может быть достигнуто путем последующих различных методов согласно нашим собственным требованиям.
Здесь, в этом руководстве, мы собираемся иметь дело со всеми методами, использующими, с помощью которых мы можем преобразовать строку в список в Python для разных случаев. Ниже мы перечислили все методы:
- Строка в список строк
- Строка в список символов
- Список строк в список списков
- CSV в список
- Строка, состоящая из целых чисел к списку целых чисел
Теперь мы собираемся обсудить каждый из вышеупомянутых методов один за другим.
1. Строка в список строк
Когда нам необходимо преобразовать строку в список в Python, содержащую составляющие составляющие строки родительской строки (ранее разделенные некоторыми сепаратором, такими как ‘,’ или пространство), мы используем этот метод для выполнения задачи.
Например, скажем, у нас есть строка “Python отличный” , и мы хотим список, который будет содержать только данные, ранее разделенные пробелами, мы можем получить необходимый список, просто разделив строку на части на основе положения пространства.
Давайте посмотрим на пример, чтобы понять это лучше.
#given string string1="Python is great" #printing the string print("Actual String: ",string1) #gives us the type of string1 print("Type of string: ",type(string1)) print("String coverted to list :",string1.split()) #prints the list given by split()
Выход :
В приведенном выше коде:
- Рассмотрим строку,
String1 = "Python отличный"
и попробуйте преобразовать тот же список составляющих строк Тип ()
дает нам тип объекта, переданного на метод, который в нашем случае был строкойСплит ()
в основном используется для разделиния строки в список на основе данного сепаратора. В нашем коде слова слова были разделены пробелами. По умолчанию, если мы ничего не передам к Сплит () Метод он разбивает строку на основе положения пробелов- Следовательно, хотя мы не упомянули параметр сепаратора,
Сплит ()
Метод дает нам список соответствующих строк
2. Строка в список символов
Что, если нам нужно Список персонажей присутствует в строке? В этом случае преобразование прямого типа из строки в список в Python с использованием Список ()
Метод делает работу для нас.
Конечно, если входная строка – это что-то вроде “ABCD” , напечатайте строку в список, используя Список ()
Метод дает нам список отдельных символов «А», «B», «C», «D» как его элементы. Посмотрите на данный пример код ниже.
#given string string1="AskPython" #printing the string print("Actual String: ",string1) #confirming the type() print("Type of string: ",type(string1)) #type-casting the string into list using list() print("String coverted to list :\n",list(string1))
Выход :
Понимание кода:
- Во-первых, мы инициализируем строку,
string1
как “Аспётор” и распечатайте его тип, используяТип ()
метод - И, как мы можем наблюдать, напечатайте строку, используя
Список ()
Метод дает нам список символов члена, по мере необходимости
3.
Список строк в список списковЗдесь мы посмотрим, как мы можем объединить как вышеуказанные методы для Преобразуйте строку в список списков символов Отказ
Смотрите ниже приведенный ниже пример тщательно,
#Given string string1="This is Python" print("The actual string:",string1) #converting string1 into a list of strings string1=string1.split() #applying list method to the individual elements of the list string1 list1=list(map(list,string1)) #printing the resultant list of lists print("Converted to list of character list :\n",list1)
Выход :
Поймите код:
- В этом случае после инициализации строки
string1
Мы используем первый метод и преобразуем его в список строк - То есть в этот момент String1 – список строк, заданных
[«Это», «это», «Python»]
- Затем мы применяем
Список ()
Метод всем элементам списка - string1 Отказ Как мы видели в нашем предыдущем случае, это дает нам список, состоящий из списков символов. Примечание, кастинг массового типа проводился с использованием Функция карты ()
4. CSV в список
А CSV (разделенные запятыми значениями) Строка, так как его название предлагает строку, состоящую из значений или данных, разделенных запятыми.
Давайте посмотрим, как мы можем конвертировать такой тип строки в список в Python.
#given string string1="abc,def,ghi" print("Actual CSV String: ",string1) print("Type of string: ",type(string1)) #spliting string1 into list with ',' as the parameter print("CSV coverted to list :",string1.split(','))
Выход :
Здесь:
- Точно так же мы инициируем, учитывая строку string1 С различными данными или значениями, разделенными запятыми ( ‘,’ )
- После печатать его и его
Тип ()
Мы продолжаем разделить его на основе параметра ‘,’ - Это делает значения «ABC» , «Def» и «GHI» элементы списка. Таким образом, мы действительно могли извлечь значения из данного CSV
5. Строка, состоящая из целых чисел к списку целых чисел
Теперь мы собираемся преобразовать строку, состоящую из целых чисел, разделенных некоторыми пространством, запятой или и т. Д., в список Целое число Тип элементов.
Например, посмотрите на код ниже,
#string with integers sepated by spaces string1="1 2 3 4 5 6 7 8" print("Actual String containing integers: ",string1) print("Type of string: ",type(string1)) #coverting the string into list of strings list1=list(string1.split()) print("Converted string to list : ",list1) #typecasting the individual elements of the string list into integer using the map() method list2=list(map(int,list1)) print("List of integers : ",list2)
Выход :
Сейчас:
- Мы взяли строку,
string1
как “1 2 3 4 5 6 7 8” и распечатать его и его Тип () соответственно - Затем мы разделили его, используя
Сплит ()
Способ и хранить результируемый список в список list1 Отказ На данный момент List1 держит [«1», «2», «3», «4», «5», «6», «7», «8»] Как мы можем видеть с вывода, как и ожидалось - Теперь мы карта Функция
int ()
На протяжении всего списка печати каждый из элементов в целые числа. И дальше мы храним текстовый сопоставленный список в list2 и напечатать то же самое - В результате мы получаем список, состоящее из целочисленных элементов, на которых сейчас мы можем выполнять арифметические операции.
Заключение
Это все сейчас, это было все о преобразовании строк в разные списки, используя различные методы. Попробуйте использовать тот, который подходит для вашего кода и решает свою цель, а также соответствует вашим требованиям. Вопросы в комментариях ценятся.
Рекомендации
- https://www.askython.com/python/string
Преобразование строки в список в Python | Flexiple Tutorials
В этом коротком руководстве вы узнаете, как преобразовать строку в список в Python. Мы рассмотрим все способы достижения этого вместе с их плюсами и минусами.
Содержание — Преобразование строки в список в Python
- Преобразование строки в список в Python
- Решение 1. Использование функции Split()
- Решение 2. Использование list()
- Ограничения и предостережения
Преобразование строки в список в Python:
Преобразование типов данных или приведение типов в Python — очень распространенная практика. Однако преобразование строки в список в Python не так просто, как преобразование int в строку или наоборот.
Строки могут быть преобразованы в списки с помощью list() . Мы рассмотрим этот метод ниже. Однако в этом методе Python не будет знать, где начинается и заканчивается каждый элемент, возвращая список символов. Следовательно, Python предоставляет несколько альтернативных методов, которые можно использовать для преобразования строки в список.
Решение 1. Использование функции Split()
Метод разделения используется для разделения строки на основе указанного разделителя. После разделения он возвращает разделенную строку в виде списка, используя этот метод, мы можем преобразовать строку в список в Python.
Синтаксис:
string. split( разделитель, maxsplit)
Параметры:
- Разделитель — Опционально. Указывает желаемый разделитель, используемый при разделении строки. Если оставить пустым, пробелы считаются разделителями.
- Maxsplit — Дополнительно. Определяет, сколько разбиений нужно сделать.
Код для преобразования строки в список на Python
str_1 = "Наймите 1% лучших внештатных разработчиков" list_1 = str_1.split() печать (список_1) #Выход: #['Нанять', 'самый', 'лучший', '1%', 'внештатный сотрудник', 'разработчики']
Примечание: Поскольку аргумент не был передан в качестве разделителя, строка была разделена пробелами.
Теперь давайте посмотрим на экземпляр, где указан разделитель.
str_1 = "Нанять 1% лучших внештатных разработчиков" list_1 = str_1.split("-") печать (список_1) #Выход: #['Нанять', 'самый', 'лучший', '1%', 'внештатный сотрудник', 'разработчики']
Решение 2. Использование list()
Как упоминалось выше, этот метод преобразует строку в список символов. Поэтому этот метод используется не так часто. Я бы рекомендовал использовать этот метод только в том случае, если вы уверены, что список должен содержать каждый символ как элемент и если строка содержит набор символов или чисел, не разделенных пробелом. В противном случае пробелы также будут считаться символами и храниться в списке.
Код для преобразования строки в список на Python:
str_1 = "Нанять внештатных разработчиков" list_1 = список(str_1.strip(" ")) печать (список_1) #Выход: ['H', 'i', 'r', 'e', '', 'f', 'r', 'e', 'e', 'l', 'a', 'n', 'c ', 'e', ' ', 'd', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 's']
Преобразование строки в список в Python — заключительные мысли
Метод split() является рекомендуемым и наиболее распространенным методом, используемым для преобразования строки в список в Python. Этот метод не имеет существенных минусов. С другой стороны, метод приведения типов широко не рекомендуется и используется только при соблюдении требований. Тем не менее, пожалуйста, не стесняйтесь практиковать оба метода, чтобы облегчить лучшее понимание концепции.
Преобразовать строку в список в Python
Автор Панкадж Кумар / 27 февраля 2020 г.
При программировании нам может понадобиться преобразовать строку в список в Python. Это может быть по любой другой причине. Но здесь возникает вопрос, как мы можем преобразовать строку в различные формы списков?
Итак, в этом уроке мы узнаем, как преобразовать строку в список в Python .
Методы преобразования строки в список в Python
Преобразование строки в список в Python — довольно простая задача. Это может быть достигнуто с помощью различных методов в соответствии с нашими требованиями.
Здесь, в этом уроке, мы рассмотрим все методы, с помощью которых мы можем преобразовать строку в список в Python для разных случаев. Ниже мы перечислили все методы:
- Строка в список строк
- Строка в список символов
- Список строк в список списков
- CSV в список
- Строка, состоящая из целых чисел в список целых чисел
Теперь мы собираемся обсудить каждый из вышеупомянутых методов один за другим.
1. Строка в список строк
Когда нам нужно преобразовать строку в список в Python, содержащий строки, составляющие родительскую строку (предварительно разделенные некоторым разделителем, например, ‘,’ или пробелом), мы используем этот метод для выполнения задачи.
Например, у нас есть строка «Python is great» , и мы хотим, чтобы список содержал только заданные имена, предварительно разделенные пробелами, мы можем получить требуемый список, просто разбив строку на части на основе положение пространства.
Давайте рассмотрим пример, чтобы лучше понять его.
#данная строка string1="Питон великолепен" # печать строки print("Фактическая строка: ",string1) # дает нам тип string1 print("Тип строки: ",type(string1)) print("Строка преобразована в список:",string1.split()) # печатает список, заданный функцией split()
Выход :
Строка Списка строкв приведенном выше коде:
- Мы рассмотрим строку,
String1 = «Python - это отличный ) дает нам тип объекта, переданного методу, который в нашем случае был строкой
- . Функция split() используется для разделения строки на список на основе заданного разделителя. В нашем коде слова были разделены пробелами. По умолчанию, если мы ничего не передаем методу split(), он разбивает строку на основе положения пробелов
- Следовательно, хотя мы не упомянули параметр-разделитель, метод
split()
дает нам список соответствующих строк
2. Строка в список символов
Что, если нам нужен список символов присутствует в строке? В этом случае прямое преобразование типа из строки в список в Python с использованием метода list()
сделает всю работу за нас.
Конечно, если входная строка похожа на «abcd» , преобразование строки в список с использованием 9Метод 0135 list() дает нам список, содержащий отдельные символы «a», «b», «c», «d» в качестве элементов. Взгляните на приведенный ниже пример кода.
#данная строка строка1 = "Спросите Python" # печать строки print("Фактическая строка: ",string1) #подтверждение типа() print("Тип строки: ",type(string1)) # приведение строки к списку с помощью list() print("Строка преобразована в список :\n",list(string1))
Вывод :
Строка для списка символовПонимание кода:
- Сначала мы инициализируем строку
string1
как «AskPython» и печатаем ее тип с помощью методаtype()
-
list() Метод
дает нам список символов-членов по мере необходимости. строка в список списков символов .Внимательно посмотрите на приведенный ниже пример,
#Данная строка string1="Это Python" print("Настоящая строка:",string1) #преобразование string1 в список строк строка1=строка1.split() #применяем метод list к отдельным элементам списка string1 список1 = список (карта (список, строка1)) # печать результирующего списка списков print("Преобразовано в список символов:\n",list1)
Выход :
Строка для списка списков символовПонять код:
- В этом случае, после инициализации строки
string1
, мы используем первый метод и преобразуем его в список строк - То есть на данный момент string1 это список строк, заданный
[ 'This ', 'is', 'Python' ]
- Затем мы применяем метод
list()
ко всем элементам списка - string1 . Как мы видели в нашем предыдущем случае, это дает нам список, состоящий из списков символов. Обратите внимание, массовое приведение типов выполнялось с помощью функции map()
4. CSV для списка
Строка CSV (значения, разделенные запятыми) , как следует из ее названия, представляет собой строку, состоящую из значений или данных, разделенных запятыми.
Давайте посмотрим, как мы можем преобразовать такой тип строки в список в Python.
#данная строка string1="abc,def,ghi" print("Фактическая строка CSV: ",string1) print("Тип строки: ",type(string1)) # разбиение строки1 на список с ',' в качестве параметра print("CSV преобразован в список:",string1.split(','))
Выход :
CSV В списокЗдесь:
- Аналогичным образом мы начинаем с рассмотрения строки string1 с различными данными или значениями, разделенными запятыми ( ‘,’ ) 9 0008 После печати и его
type()
, мы разбиваем его на основе параметра ‘,’ - В этом случае, после инициализации строки
- Это делает значения ‘abc’, ‘def’ и ‘ghi’ элементами списка. Таким образом, мы смогли извлечь значения из заданного CSV
5. Строка, состоящая из целых чисел, в список целых чисел
Теперь мы собираемся преобразовать строку, состоящую только из целых чисел, разделенных некоторым пробелом, запятой и т. д., в список из целых элементов.
Например, посмотрите на код ниже,
#строка с целыми числами, разделенными пробелами строка1="1 2 3 4 5 6 7 8" print("Фактическая строка, содержащая целые числа: ",string1) print("Тип строки: ",type(string1)) #преобразование строки в список строк список1=список(string1.split()) print("Преобразование строки в список: ",list1) #приведение типов отдельных элементов списка строк к целому числу с помощью метода map() list2 = список (карта (int, list1)) print("Список целых чисел: ",list2)
Вывод :
Строка с целыми числами для спискаСейчас:
- Мы взяли строку
string1
как «1 2 3 4 5 6 7 8» и тип() последовательно - Затем мы разделяем его с помощью метода
split()
и сохраняем полученный список в список list1 .