DevGang
Авторизоваться

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

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

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

Преобразуйте список в строку на Python с помощью join()

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

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

base_list = ['M', 'K', 'V', 'N', 'L', 'I', 'L', 'F', 'S', 'L', 'L', 'V']

Самый простой способ объединить их в одну строку - просто передать список в функцию join()

string = "".join(base_list)
print(string)

Это приводит к:

MKVNLILFSLLV

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

Каждый из этих элементов имеет тип str, поэтому нет проблем с естественным помещением их в строку. Хотя иногда вам может потребоваться преобразовать определенный элемент в другой тип.

Кроме того, если вы используете другой разделитель, вы также можете получить другое представление:

string = ", ".join(base_list)

Это приводит к:

M, K, V, N, L, I, L, F, S, L, L, V

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

Если вам действительно нужно преобразовать элементы, вы можете просто использовать перебор списка в цикле:

string = "".join(str(element) for element in base_list)

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

base_list = ['m', 'K', 'V', 'N', 'L', 'I', 'L', 'f', 'S', 'L', 'L', 'V']

def capitalize_char(char):
    return char.upper()

string = "".join(capitalize_char(element) for element in base_list)

print(string)

m и f переведены в нижний регистр, чего не должно было случиться. Мы передали в состав списка capitalize_char(), возвращая версию с заглавными буквами каждого переданного элемента. Это приводит к:

MKVNLILFSLLV

Преобразование списка в строку в Python с помощью map()

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

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

Конечно, вы также всегда можете выполнить сопоставление 1 к 1 с помощью функции map() и, ну, просто сопоставить строку со строкой, соединив их вместе в одну:

base_list = ['M', 'K', 'V', 'N', 'L', 'I', 'L', 'F', 'S', 'L', 'L', 'V']

string = "".join(map(str, base_list))

print(string)

Это приводит к:

MKVNLILFSLLV
#Python
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

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

Попробовать

В подарок 100$ на счет при регистрации

Получить