Содержание

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

Под списком в языке Python понимают набор объектов любого типа, которые синтаксически упорядочены (это реализуется при помощи квадратных скобок и запятых). Этот тип хранения данных весьма удобен, однако иногда бывает необходимо преобразовать элементы списка в строку Python. Это можно сделать несколькими способами, которые мы и рассмотрим в данной статье. Но сначала заметим, что некоторые из этих способов равны по возможностям, и выбор здесь определяется привычками или опытом программиста.

Способ №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']

Заключение

Мы рассмотрели преобразование элементов списков в строчные значения и наоборот.

Обратите внимание, что в последнем примере мы использовали f-строки — весьма удобный метод форматирования, появившийся в версии 3.6.

Строки в Python — CodeChick

В этом руководстве вы научитесь создавать, форматировать, изменять и удалять строки в Python. А еще познакомитесь с различными строковыми операциями и функциями.

Что такое строка

Строка — это последовательность символов.

Символ — это просто одиночный символ. Например, в английском языке 26 символов, букв. 

Компьютер работает не с символами, а с числами в двоичной записи. Вы видит на экране символы, но компьютер хранит и обрабатывает их как комбинацию нулей и единиц. 

Преобразование символа в число называется кодированием, а обратный процесс — декодированием. О самых известных стандартах кодирования вы, скорее всего, слышали. Это ASCII и Unicode.

В Python каждая строка — это последовательность символов Юникода, поскольку он позволяет использовать символы из всех языков мира и обеспечивает единообразие кодировки.

Подробнее о Юникоде в Python.

Как создать строку

Если заключить набор символов в одинарные '' или двойные "" кавычки с двух сторон, получится строка. В Python можно использовать и тройные кавычки

'''''', но их обычно используют для многострочных строк и строк документации.

# все способы ниже эквиваленты: они делают одно и то же
my_string = 'Привет'
print(my_string)

my_string = "Привет"
print(my_string)

my_string = '''Привет'''
print(my_string)

# тройные кавычки позволяют создавать многострочные строки
my_string = """Привет, добро пожаловать
           в мир Python"""
print(my_string)

Вывод:

Привет
Привет
Привет
Привет, добро пожаловать
          в мир Python

Как получить доступ к символам в строке

1. По индексу

Получить доступ к отдельным символам в строке можно стандартным способом — по индексу.

 

Примечание. Первый элемент в строке (то есть первый символ) Python имеет индекс 0. 

Индекс всегда должен быть целым числом, поэтому тип float не подойдет. Использование в качестве индекса числа с плавающей точкой приведет к ошибке TypeError.

Если вы попытаетесь получить доступ к символу с индексом, который больше длины строки, Python выдаст ошибку IndexError.

Индекс не обязательно должен быть положительным числом. Python поддерживает и «отрицательную индексацию». Индекс -1 ссылается на последний символ, -2 — на предпоследний и так далее. 

2. С помощью среза

Получить доступ к символам в строке можно и с помощью слайсинга (от англ. «нарезание»). Таким способом удобно получать набор символов в заданном диапазоне. 

Срезы задаются с помощью квадратных скобов [] и 2-3 аргументов через двоеточие :

my_collection[старт:стоп:шаг]
string = 'codechick'
print('string = ', string)

#первый символ
print('string[0] = ', string[0])

#последний символ
print('string[-1] = ', string[-1])

#срез от 2 до 5 символа
print('string[1:5] = ', string[1:5])

#срез от 6 до предпоследнего символа
print('string[5:-2] = ', string[5:-2])

Вывод:

string =  codechick
string[0] =  c
string[-1] =  k
string[1:5] =  odec
string[5:-2] =  hi

Если мы попытаемся получить доступ к символу с индексом вне допустимого диапазона или использовать не целые числа, получим ошибку.

Помните строку my_string? 

# длина строки my_string = 6 символов, а мы пытаемся получить 15 символ
>>> my_string[15] 
...
IndexError: string index out of range

# индекс должен быть целым числом
>>> my_string[1.5]

...
TypeError: string indices must be integers

Как изменить или удалить строку

Строка — неизменяемый тип данных. Это значит, что мы не можем изменить элементы строки после создания. Зато можем переназначать разные строки одной и той же переменной. 

>>> my_string = 'codechick'
>>> my_string[5] = 'a'
...
TypeError: 'str' object does not support item assignment
>>> my_string = 'Python'
>>> my_string
'Python'

По той же причине нельзя удалять символы из строки. Зато можно полностью удалить строку: для этого используйте ключевое слово del

>>> del my_string[1]
...
TypeError: 'str' object does not support item deletion

>>> del my_string
>>> my_string
. ..
NameError: name 'my_string' is not defined

Строковые операции

Строки — один из самых часто используемых типов данных в Python, поэтому для работы с ними существует куча встроенных операций.

Конкатенация строк

Конкатенация — это объединение двух или более строк в одну. 

Эту операцию в Python выполняет оператор +. А с помощью оператора * можно повторить строку заданное количество раз — «умножить» строку на число.

string1 = 'Привет, '
string2 ='мир!'

# используем +
print('string1 + string2 = ', string1 + string2)

# используем *
print('string1 * 3 =', string1 * 3)

Вывод:

string1 + string2 =  Привет, мир!
string1 * 3 = Привет, Привет, Привет, 

Если просто написать рядом два строковых литерала, они тоже объединятся в одну строку. Еще можно использовать круглые скобки. Давайте рассмотрим пример.

>>> # два строковых литералы записаны вместе
>>> 'Привет, ''мир!'
'Привет, мир!'

>>> # круглые скобки объединяют строковые литералы
>>> s = ('Привет, '
...     'мир')

>>> s
'Привет, мир'
Итерирование по строке

В Python можно «пройтись» по строке, то есть перебрать все символы в ней. Для этого нужно использовать цикл for. 

count = 0
for letter in 'Привет, мир!':
    if (letter == 'и'):
        count += 1
print(count, 'буквы «и» в данной строке')

Вывод:

2 буквы «и» в данной строке
Проверка на вхождение

В Python можно проверить, находится ли данная подстрока в строке или нет с помощью операторов членства in и not in.

>>> 'chick' in 'codechick'
True

>>> 'code' not in 'codechick'
False

Функции для работы со строками

Практически все встроенные функции, которые работают с последовательностями, точно так же работают со строками.

 

Самые полезные:

  • enumerate() —  позволяет перебирать строку, отслеживая индекс текущего элемента. 
  • len() — возвращает длину строки. 
string = 'кодер'

# enumerate()
list_enumerate = list(enumerate(string))
print('list(enumerate(string) = ', list_enumerate)

# считаем количество символов
print('len(string) = ', len(string))

Вывод:

list(enumerate(string) =  [(0, 'к'), (1, 'о'), (2, 'д'), (3, 'е'), (4, 'р')]
len (string) = 5

Методы строк

split(символ)

Разбивает строки по заданном разделителю (по умолчанию — пробел)

join(список)

«Собирает» строку из списка с разделителем

find(подстрока, начало, конец)

Поиск подстроки в строке. Возвращает индекс первого вхождения слева. Если подстроки в строке нет, возвращает -1

index(подстрока, начало, конец)

Поиск подстроки в строке. Возвращает индекс первого вхождения. Если подстроки в строке нет, возвращает ValueError

replace(шаблон, замена)

Замена шаблона в строке

isdigit()

Проверяет, состоит ли строка из цифр. Возвращает True или False

isalpha()

Проверяет, состоит ли строка из букв. Возвращает True или False

islower()

Проверяет, состоит ли строка из символов в нижнем регистре. Возвращает True или False

isupper()

Проверяет, состоит ли строка из символов в верхнем регистре. Возвращает True или False

upper()

Преобразует строку к верхнему регистру

lower()

Преобразует строку к нижнему регистру

ord(символ)

Преобразует символ в ASCII-код

chr(число)

Преобразует ASCII-код в символ

>>> "CoDeCHicK". lower()
'codechick'

>>> "CoDeCHicK".upper()
'CODECHICK'

>>> "Эта инструкция разобьет строку и засунет элемент в список".split()
['Эта', 'инструкция', 'разобьет', 'строку', 'и', 'засунет', 'элемент', 'в', 'список']

>>> ' '.join(['Эта', 'инструкция', 'соберет', 'все', 'слова', 'в', 'одну', 'строку'])
'Эта инструкция соберет все слова в одну строку'

>>> 'Счастливого Рождества!r'.find('ож')
13

>>> 'Счастливого Рождества!'.replace('Счастливого', 'Чудесного')
'Чудесного Рождества!'

Как форматировать строки

Управляющие последовательности

Допустим, нам нужно напечатать на экран такое сообщение: He said, "What's there?" (Он сказал: «Что там?»). Проблема в том, что в этом тексте есть и двойные, и одинарные кавычки (апостроф), поэтому мы не можем использовать их для создания строки — это приведет к ошибке SyntaxError. 

>>> print("He said, "What's there?"")
. ..
SyntaxError: invalid syntax

>>> print('He said, "What's there?"')
...
SyntaxError: invalid syntax

Эта проблема больше актуальная для английского языка, поскольку в русском не используют апострофы, но знать, как ее решить, надо всем. 

Есть два способа обойти эту проблему: использовать тройные кавычки или escape-последовательности — их еще иногда называют управляющими последовательностями.

Вот, как это выглядит на практике. 

# с помощью тройных кавычке
print('''He said, "What's there?"''')

# escape-последовательность и одинарные кавычки
print('He said, "What\'s there?"')

# escape-последовательность и двойные кавычки
print("He said, \"What's there?\"")

Вывод:

He said, "What's there?"
He said, "What's there?"
He said, "What's there?"
Список escape-последовательностей

Управляющая последовательность

Описание

\\

Экранирование обратного слэша

\'

Экранирование одинарной кавычки

\"

Экранирование двойной кавычки

\a

Звуковой сигнал или предупреждение

\b

Возврат на одну позицию

\n

Перенос строки на новую

\r

Возврат каретки

\t

Горизонтальный Tab

\v

Вертикальный Tab

\ooo

Восьмеричное значение

\xHH

Шестнадцатеричное значение

>>> print("C:\\Python32\\Lib")
C:\Python32\Lib

>>> print("Это сообщение печатается\на двух строках")
Это сообщение печатается
на двух строках
Игнорирование управляющих последовательностей 

Чтобы Python проигнорировал escape-последовательность в строке, можно написать перед этой строкой r или R.  

>>> print("Это \nхороший пример")
Это 
хороший пример

>>> print(r"Это \nхороший пример")
Это \nхороший пример

Метод format()

Метод format() — очень гибкий и мощный инструмент для форматирования строк. В качестве заполнителей используются фигурные скобки {}.

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

# порядок по умолчанию
default_order = "{}, {} и {}".format('Петя','Ваня','Катя')
print('\n--- Порядок по умолчанию ---')
print(default_order)

# порядок с позиционными аргументами
positional_order = "{1}, {0} и {2}".format('Петя','Ваня','Катя')
print('\n--- Позиционный порядок ---')
print(positional_order)

# порядок по ключевым словам
keyword_order = "{s}, {b} и {j}".format(j='Петя',b='Петя',s='Катя')
print('\n--- Порядок по ключевым словам ---')
print(keyword_order)

Вывод:

--- Порядок по умолчанию ---
Петя, Ваня и Катя

--- Позиционный порядок ---
Ваня, Петя и Катя

--- Порядок по ключевым словам ---
Катя, Ваня и Петя

У метода format() есть дополнительные настройки. 10}|{:>10}|».format(‘масло’, ‘булка’, ‘колбаса’) ‘|масло | булка | колбаса|’

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

Python — один из самых популярных языков программирования на сегодняшний день, и в этом руководстве мы изучим различные способы преобразования списка в строку. Помимо этого, мы также обсудим нюансы Python, в том числе, что такое список в Python, что такое строка и многое другое. Давайте начнем.

Что такое список?

Список — это структура данных в компьютерном программировании, которая используется для хранения набора элементов и может быть организована определенным образом. Это полезный инструмент для управления большими наборами данных любым конкретным способом. Списки можно использовать для хранения множества элементов, включая числа, строки или даже другие списки.

Списки могут создаваться на разных языках программирования с помощью разных синтаксисов, но обычно они имеют некоторые общие свойства. Например, списки обычно изменяемы, что означает, что вы можете добавлять или удалять элементы из списка по мере необходимости. У списков также есть свойство длины, которое указывает количество элементов в списке.

Мы можем выполнять различные операции внутри списка, включая добавление элементов в конец списка, удаление элементов из списка и доступ к отдельным элементам по их позиции в индексе. Списки, являющиеся фундаментальной структурой данных в различных языках программирования, широко используются в различных приложениях. Приложения включают базы данных, веб-разработку, научные вычисления и т. д.

Что такое список в Python?

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

Список и массив в других языках программирования отличаются тем, что массив хранит только похожие типы данных, что означает, что массив однороден по своей природе, но список в python может одновременно хранить разные типы данных, и поэтому он может быть как гомогенным, так и гетерогенным. Ниже приведены несколько примеров однородных и разнородных списков в Python:

Однородные списки:

Неоднородные списки:

Доступ к элементу из списка

Доступ к элементу из списка можно получить, обратившись к его индексу в списке. Индексация элементов в списке начинается с 0. Давайте возьмем пример списка, который мы создали на последнем шаге.

Чтобы получить доступ к элементу из списка, мы передаем индекс этого элемента в функцию печати.

Как упоминалось ранее, это индексирование начинается с 0, поэтому при передаче индекса [1] он дает результат как «собака». Точно так же, если мы передаем индекс, скажем, [2], он даст результат 2,2

Что такое строка?

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

В большинстве языков программирования строки представляются последовательностью символов, заключенных в кавычки. Например, «Доброе утро, Арун» — это строка из 13 символов, включая пробелы и знаки препинания.

Строки можно изменять с помощью различных операций над строками, таких как конкатенация (объединение двух или более строк вместе), извлечение подстроки (выбор части строки) и форматирование строки (изменение способа отображения строки). Строки обычно используются для ввода и вывода файлов, пользовательского ввода и хранения данных.

Что такое строка в Python?

Строка в Python — это упорядоченная последовательность символов. Здесь следует отметить, что список — это упорядоченная последовательность типов объектов, а строка — это упорядоченная последовательность символов. Это основное различие между ними.

Последовательность — это тип данных, состоящий из нескольких элементов одного и того же типа данных, таких как целое число, число с плавающей запятой, символ и т. д. Это означает, что строка — это подмножество типа данных последовательности, содержащее все элементы в виде символов.

Вот пример строки в Python и как ее напечатать.

Для объявления строки мы присваиваем ей переменную. Здесь a — это переменная, присвоенная строке Simplilearn. К элементу строки можно получить доступ так же, как мы видели в случае со списком. Индексация элементов в строке также начинается с 0,9.0003

Зачем преобразовывать список Python в строку?

Мы можем преобразовать список Python в строку при различных обстоятельствах, которые указаны ниже:

  • Хранение и передача данных: В случае хранения или передачи данных лучше делать это в виде строки, а не списка. Например, если вы хотите сохранить список имен в файле или базе данных, вы можете преобразовать список в строку перед его сохранением. Кроме того, если вы хотите отправлять данные по сети, лучше преобразовать список в строку, чтобы передать его правильно.
  • Форматирование вывода: В случае вывода на консоль или в файл необходимо форматировать данные определенным образом. Когда мы преобразуем список в строку, мы можем легко отформатировать вывод, используя методы работы со строками.
  • Совместимость: некоторые библиотеки или API требуют, чтобы данные передавались в виде строки, а не списка. В этих случаях вы должны преобразовать свой список в строку, прежде чем передавать его в библиотеку или API.
  • Сравнение: если вы хотите сравнить два списка, может быть проще сначала преобразовать их в строки, а затем сравнить строки.

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

  • Использование функции соединения

Функция соединения — один из самых простых методов преобразования списка в строку в Python. Главное, что следует иметь в виду при использовании этой функции, заключается в том, что функция соединения может преобразовывать в строку только те списки, которые содержат только строку в качестве своих элементов.

См. пример ниже.

Здесь все элементы в списке представляют собой отдельные строки, поэтому мы можем напрямую использовать функцию соединения. Обратите внимание, что каждый элемент в новой строке разделяется одним пробелом.

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

В этом примере сначала мы объявляем список, который нужно преобразовать в строку. Затем необходимо инициализировать пустую строку для хранения элементов. После этого каждый элемент списка проходится с использованием цикла for, и для каждого индекса элемент будет добавлен в инициализированную строку. В конце строка будет напечатана с помощью функции print().

Функцию карты можно использовать в 2 случаях для преобразования списка в строку.

  1.  если список содержит только числа.
  2. Если список неоднородный

 Функция map() принимает 2 аргумента;

  1. функция str(); который преобразует данный тип данных в строковый тип данных.
  2. Повторяемая последовательность; каждый элемент в последовательности будет вызываться функцией str(). Строковые значения будут возвращены через итератор.

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

  • Понимание списка

Понимание списка в python создает список элементов из существующего списка. Затем он использует цикл for для обхода итерируемых объектов в поэлементном шаблоне.

Чтобы преобразовать список в строку, используйте механизм понимания списков Python и функцию join(). Понимание списка будет проходить по элементам один за другим, а метод join() объединит элементы списка в новую строку и вернет ее в качестве вывода.

Ниже приведен пример преобразования списка в строку с использованием понимания списка.

В этом методе назначьте список и просмотрите каждый элемент и добавьте каждый в пустую строку, используя цикл for

Код в python приведен ниже

instr= [‘Привет’, ‘Как’, ‘как дела’, ‘ты’, ‘дела?’]

пустая_строка = «»

# передача строки

для i в инструкции:

пустая_строка += я +»

печать (пустая строка)

Вывод будет — Привет, Как дела?

  • Использование функции, которая обходит каждый элемент списка и продолжает добавлять новый элемент для каждого индекса в пустой строке, используя цикл for

# listToString является функцией

по определению listToString (instr):

# инициализировать пустую строку

пустая строка=»»

# обход строки с использованием цикла for

для электроинструмента:

пустая строка += ele

instr = [‘Привет’, ‘Как’, ‘как дела’, ‘ты’, ‘дела?’]

печать (списокToString (инстр))

Вывод будет таким: Привет, как дела?

Используя функцию перечисления, мы можем преобразовать список Python в строку. Реализуя эту функцию, можно пройтись по списку и получить как индекс, так и значение каждого элемента. После этого мы используем конкатенацию строк для создания окончательной строки.

Пример фрагмента кода: 

my_list = [‘яблоко’, ‘банан’, ‘апельсин’]

моя_строка = »

для i, фрукты в перечислении (my_list):

 my_string += str(i) + ‘: ‘ + фрукты + ‘, ‘

# Удалить запятую и пробел

моя_строка = моя_строка[:-2]

печать (моя_строка)

Выход: 0: яблоко, 1: банан, 2: апельсин

  • Использование в операторе

Другой способ преобразовать список в строку — использовать оператор in the. Мы можем создать строку, содержащую разделитель, например запятую, а затем соединить элементы списка, используя этот разделитель.

Пример фрагмента кода:

my_list = [‘яблоко’, ‘банан’, ‘апельсин’]

разделитель = ‘,’

моя_строка = разделитель.присоединиться(мой_список)

печать (моя_строка)

Продукт: яблоко, банан, апельсин

Reduce — это метод из модуля functools, который используется для преобразования списка в строку. Этот метод принимает функцию и итерируемый объект в качестве входных данных и применяет функцию к элементам итерируемого объекта, сводя их к одному значению. Чтобы объединить элементы списка в строку, мы можем реализовать лямбда-функцию.

Пример фрагмента кода:

из functools импортировать уменьшить

my_list = [‘яблоко’, ‘банан’, ‘апельсин’]

my_string = уменьшить (лямбда x, y: x + ‘, ‘ + y, my_list)

печать (моя_строка)

Одним из способов преобразования списка в строку в Python является использование метода str.format, который позволяет форматировать строки с помощью заполнителей. Мы можем использовать заполнитель {} для вставки каждого элемента списка в строку.

Пример фрагмента кода:

my_list = [‘яблоко’, ‘банан’, ‘апельсин’]

моя_строка =

для фруктов в my_list:

my_string += ‘{} ‘.format(плод)

печать (моя_строка)

Продукт: яблоко банан апельсин

  • Использование рекурсии

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

Пример фрагмента кода:

определение list_to_string (мой_список):

, если len(my_list) == 0:

возврат »

иначе:

вернуть строку (мой_список [0]) + ‘ ‘ + list_to_string (мой_список [1:])

мой_список = [1, 2, 3, 4]

моя_строка = список_к_строке(мой_список)

печать (моя_строка)

  • Использование цикла For

Мы также можем использовать цикл for для преобразования списка в строку. Мы можем перебирать список и объединять каждый элемент в строку, разделяя их разделителем, например запятой.

Пример фрагмента кода:

my_list = [‘яблоко’, ‘банан’, ‘апельсин’]

моя_строка =

для i в диапазоне (len (my_list)):

моя_строка += мой_список[i]

если я != len(мой_список) — 1:

моя_строка += ‘,’

печать (моя_строка)

Продукт: яблоко, банан, апельсин

Иногда нам нужно по-разному представить элементы списка. Например, нам может понадобиться округлить числовые элементы до определенного числа знаков после запятой, сохранив при этом строковые элементы как есть. Мы можем добиться этого, используя комбинацию понимания списка и форматирования строк.

Пример фрагмента кода:

my_list = [‘яблоко’, 3.14159, ‘банан’, 2.71828, ‘апельсин’]

my_string = ‘, ‘.join([‘{:.2f}’.format(i) if type(i) == float else str(i) для i в my_list])

печать (моя_строка)

Выход: яблоко, 3,14, банан, 2,72, апельсин

Бифуркации основаны на целых числах и символах

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

  • Раздвоение на основе целых чисел: мы можем разбить список целых чисел на два отдельных списка, один из которых содержит все четные целые числа, а другой — все нечетные целые числа.
  • Раздвоение на основе символов: мы можем разбить строку на две отдельные строки, одна из которых содержит все символы верхнего регистра, а другая — все символы нижнего регистра.

Заключение

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

Если вы хотите освоить Python от А до Я, запишитесь на наш учебный курс Caltech Coding Bootcamp сегодня! А если у вас есть какие-либо вопросы относительно урока, оставьте комментарий ниже, и наши специалисты помогут вам.

Следующая статья

python — Как преобразовать список в строку и вернуть эту строку в исходный список?

Задавать вопрос

спросил

Изменено 8 лет, 4 месяца назад

Просмотрено 684 раза

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

У меня есть список с различными типами входных данных (целое число, строка и т. д.). Я преобразовываю список в строку, используя функция str() . Теперь тип переменной — строка. Я выполняю некоторую обработку этой строки, а затем хочу преобразовать строку обратно в исходный список с исходными типами переменных, которые у нее были (целое число, строка и т. д.).

Вот иллюстрация:

 список = [1,'дом',3]
             print(type(list)) # дает <список классов>
             print(type(list[0])) # дает 
             print(type(list[1])) # дает 
             строка = строка (список)
             print(type(string)) # выдает 
             ... # используйте эту строку для обработки данных
            # преобразовать строку в исходный список
             ? ?
 

Я подумал, может быть, я мог бы сначала перебрать свой список и сохранить тип его атрибутов в списке ( list_b ). Позже, когда я преобразую строку в список, я взорву строку и преобразую строки в типы переменных, соответствующие list_b .

Мне интересно, есть ли более прямой путь, чем этот?

  • питон
  • строка
  • список

4

Вы можете использовать ast.literal_eval для преобразования строки в объект Python.