Рубрики
Без рубрики

Самый питонический способ преобразовать список в строку

Для преобразования списка LST строк в строку используйте метод «.join (lst) с пустой сепаратором между элементами. Если у вас есть список объектов, сначала преобразуйте каждый элемент в строку и присоединяйтесь к результату с выражением генератора ” .join (str (x) для x в lst). Проблема: учитывая список элементов. … Самый питонический способ преобразовать список в строку Подробнее »

Автор оригинала: Chris.

Чтобы преобразовать список лишенство строк в строку, используйте ” .join (lst) Способ с пустой сепаратором между элементами. Если у вас есть список объектов, сначала преобразуйте каждый элемент в строку и присоединяйтесь к результату с выражением генератора ” .join (str (x) для x в lst) .

Проблема : Учитывая список элементов. Как преобразовать их в строку?

Пример : Учитывая следующий список строк.

lst = ['a', 'b', 'c']

Вы хотите преобразовать список строк в следующую строку:

'abc'

Какой самый питонический способ преобразования списка в строку? Ответ зависит от нюансов.

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

Упражнение : Запустите код! Какой самый питонический путь по вашему мнению?

Метод 1: Присоединяйтесь к списку строк

Самый простой способ – использовать String.join (ИТЕРАЛ) Метод, который объединяет все значения в ИТЕРИТЕЛЬНО (например, список) с использованием сепаратора строка между элементами.

lst = ['a', 'b', 'c']
s = ''.join(lst)

Вывод – следующая строка:

print(s)
# abc

Из-за его кратко и эффективности, это самый питонический способ преобразования списка Строки в строку. Однако метод join () ожидает, что вы передаете список строк. Если у вас есть список неровных строк, он бросит ошибку!

Связанная статья : Ultimate Guide к Python присоединиться

Способ 2: Присоединяйтесь к списку некруточных строк с выражением генератора

Итак, что делать, если вы хотите преобразовать список общих объектов в строку?

Самый питонический путь к ConcateNate Список объектов – это выражение '' .join (str (x) для x в lst) который преобразует каждый объект в строку с помощью встроенного str (...) Функция в выражение генератора Отказ Вы можете объединить результирующий список строк, используя Присоединяйтесь () Метод в пустой строке в качестве разделителя. Результатом представляет собой одно строковое значение, которое является конкатенацией строковых представлений объектов.

lst = [1, 2, 3]
s = ''.join(str(x) for x in lst)
print(s)
# 123

Этот общий метод работает для всех объектов (потому что все объекты реализуют метод __str __ метод по умолчанию). Это самый питонический способ преобразования списка некрутой

Связанная статья : Какой самый питонический способ присоединиться к списку объектов?

Способ 3: Строконные конкатенации с +

Только ради полноты, я хочу выделить, что вы также можете объединить все строки в списке с помощью оператора +. Если у вас есть список с несколькими объектами, это жизнеспособный вариант:

lst = ['a', 'b', 'c']
s = lst[0] + lst[1] + lst[2]
print(s)
# abc

Это неэффективно, потому что каждый + Оператор создает новую строку. Для N Список элементов, вы создаете N-1 Новые строки в памяти.

Связанная статья : Оператор + для конкатенации строки.

Это должно быть немного изменено при объединении списка объектов в одну строку:

Метод 4: Строконные конкатенации с + и ул.

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

# Method 4: String Concatenation with + and str()
lst = [1.0, 2.0, 3.0]
s = str(lst[0]) + str(lst[1]) + str(lst[2])
print(s)
# 1.02.03.0

Это очень утомительно, и оно заслуживает под названием «Наименее питонический способ преобразовать список в строку» Отказ Вы должны предпочесть общее Метод 2 Это не только короче и более эффективно, но и более читаемое и, как правило, применимо.

Метод 5: Используйте карту + присоединиться

Функция карты позволяет сначала преобразовать каждый элемент в строку. Затем вы можете присоединиться к струнам, используя стандартную String.join () метод в результате результирующегося от строк.

lst = [1, 2, 'hello', 3.2]
s = ''.join(map(str, lst))
print(s)
# 12hello3.2

Это прекрасно работает для списка объектов, а также довольно питон. Многие кодеры Python, как этот функциональный стиль, но я не считаю его самым питонным. Код Python должен быть читабелен. Гвидо Ван Россом Создатель Python, пытался избежать функционального программирования, потому что он не нашел его читаемого по сравнению с Понимание списка Или его обобщение “Генераторные выражения” (см. Метод 2 ).

Связанная статья : Функция карты () в Python

Метод 6: простая петля

Посмотрим, какие кодеры, которые приезжают с другого языка программирования, такие как Java, будут делать:

lst = [1, 2, 'hello', 3.2]
s = ''
for x in lst:
    s += str(x)
print(s)
# 12hello3.2

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

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

Связанная статья : Иди против Питона

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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