Как из списка сделать строку python
Перейти к содержимому

Как из списка сделать строку python

  • автор:

Преобразование списка в строку Python

В этом посте мы обсудим, как преобразовать список в строку в Python.

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

if __name__ == ‘__main__’ :
chars = [ ‘1’ , ‘2’ , ‘3’ ]
s = » . join ( chars )
print ( s ) # 123

Обратите внимание, что TypeError будет повышаться для любых числовых значений в iterable. Чтобы преобразовать список целых чисел в строку, вы должны сначала преобразовать каждое из нестроковых значений, присутствующих в итерации, в строку. Вы можете сделать это следующими способами:

1. Использование выражения генератора

Вы можете использовать генератор, чтобы легко преобразовать список целых чисел в строку, как показано ниже:

Как перевести список в строку python

Для приведения списка к строке используется метод .join() . Его особенность заключается в том, что это метод строки, а не списка. Поэтому вызывать его нужно на строке, которая будет являться разделителем элементов списка:

fruits = ['orange', 'apple', 'banana', 'kiwi'] ''.join(fruits) # orangeapplebananakiwi ' '.join(fruits) # orange apple banana kiwi ', '.join(fruits) # orange, apple, banana, kiwi 

А ещё важно знать, что все элементы списка должны быть строками. Если список будет содержать число, то мы получим ошибку:

fruits.append(1) # ['orange', 'apple', 'banana', 'kiwi', 1] ', '.join(fruits) # Traceback (most recent call last): # File "", line 1, in # TypeError: sequence item 4: expected str instance, int found 

В таком случае перед использованием метода .join() все элементы списка нужно привести к строке:

fruits = [str(item) for item in fruits] ', '.join(fruits) # 'orange, apple, banana, kiwi, 1' 

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

Если открыть текстовый файл с помощью text.read() , возвращается список. Можно ли как-нибудь преобразовать его с строку, чтобы дальше работать с ним регулярными выражениями?

Отслеживать
11.7k 9 9 золотых знаков 28 28 серебряных знаков 40 40 бронзовых знаков
задан 24 фев 2014 в 21:58
259 1 1 золотой знак 4 4 серебряных знака 9 9 бронзовых знаков
Как раз таки read без параметров возвращает весь файл одной строкой.
24 фев 2014 в 22:16

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

myList = ['str1', 'str2', 'str3'] myString = ''.join(myList) # '' - разделитель между элементами списка соответственно >>> str1str2str3 myString = '_'.join(myList) >>> str1_str2_str3 

Отслеживать
ответ дан 24 фев 2014 в 22:28
WorldCount WorldCount
799 5 5 серебряных знаков 12 12 бронзовых знаков
Pep-8 рекомендует my_list , my_string вместо myList , myString
16 окт 2016 в 6:04
Всё верно. Теперь так и пишу.
20 окт 2016 в 15:33

Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.

    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

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

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

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

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

Если это не так, я бы порекомендовал это решение, если вы новичок. Но не стесняйтесь пройти их все, если вам интересно их изучить.

Способы преобразования списка Python в строки

Используя join():

Наиболее распространенным и питоническим способом преобразования списка python в строку является использование метода join() . Он принимает итеративные объекты, последовательно присоединяет и возвращает их в виде строки. Однако значения в iterable должны иметь строковый тип данных, и в случае, если iterable содержит int, вы можете использовать второй метод.

string.join(iterable) 

Здесь string является разделителем

iterable — Любой итерируемый объект — список, кортежи, набор и т.д.

Код для преобразования списка Python в строку с помощью join():

flexiple = ["Hire", "the", "top", "freelancers"] print(" ".join(flexiple)) #Output - "Hire the top freelancers" 

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

Как упоминалось выше, попытка использовать итерацию, содержащую объект int , вернет typeerror . Следующее решение покажет вам, как это обойти.

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(flexiple)) 

Использование join() и map():

Поскольку методы join() принимают только строковые значения, мы используем map() для преобразования значений int в строку перед преобразованием списка python в строку. Методы map() выполняют определенную функцию для всех значений в итерации.

map(function, iterables) 

function — Конкретная функция, которую вы хотите выполнить

iterable — Итерируемый объект, содержащий значения

Таким образом, передавая функцию str() , которая преобразует объекты в строку, мы можем преобразовать значения типа int, а затем объединить их в строку.

Код для преобразования списка Python в строку с помощью map() :

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] print(" ".join(map(str,flexiple))) #Output - "Hire the top 10 python freelancers" 

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

Третий метод преобразования списка Python в строку — это написать цикл и добавить каждую итерацию в строку. Я бы предложил этот метод, если вы новичок в Python и не знакомы с такими понятиями, как join() и map() т.д. Код может быть длиннее, но он будет более читабельным для новичка.

flexiple = ["Hire", "the", "top", 10, "python","freelancers"] f1 = "" for i in flexiple: f1 += str(i)+ " " print(f1) #Output = "Hire the top 10 python freelancers " 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *