Методы преобразования списка в строку и обратно

Опубликован: 23.07.2024 54

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

Метод join() для преобразования списка в строку.

Встроенный метод string.join(list1) позволяет преобразовать список list1 в строку с использованием заданного разделителя string или без него.

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

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

list1 = ['Все', 'элементы', 'списка', 'являются', 'строками.']

# в качестве разделителя устанавливаем пробел
print(' '.join(list1))
Все элементы списка являются строками.

# использование map() для преобразования элементов списка в строки
list_a = [10, 20, 30, 40, 50]
res = ' '.join(map(str, list_a))
print(res)
10 20 30 40 50

# использование генератора для преобразования элементов списка в строки функцией map()
list_a = [10, 20, 30, 40, 50]
res = ' '.join(str(item) for item in list_a)
print(res)
10 20 30 40 50

Метод split() для преобразования строки в список.

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

Для преобразования элементов списка из подстрок в числа можно использовать функцию map().

# преобразование строки в список подстрок
str = '10 20 30 40 50'
list_a = str.split()
print(list_a)
['10', '20', '30', '40', '50']

# использование map() для преобразования элементов списка в целые числа
str = '10 20 30 40 50'
list_a = list(map(int, str.split()))
print(list_a)
[10, 20, 30, 40, 50]

Похожие посты

Удаление дубликатов из списка

Подсчет количества вложенных списков в списке

Поэлементное суммирование списков (кортежей)

Преобразование строки числовых значений в список чисел

Комментариев нет.