Здесь мы обсудим все 8 различных методов преобразования строки Python в список.
- Метод 1: с помощью list()
- Метод 2: с помощью map()
- Способ 3: с помощью функции лямбда и filter()
- Способ 4: используя понимание списка
- Способ 5: с помощью функции enumerate()
- Способ 6: с помощью разрезания строк
- Метод 7: с помощью метода Split()
- Метод 8: с помощью метода re.findall()
Метод 1: с помощью list()
В этом методе мы просто будем использовать функцию list() в Python для преобразования заданной строки в список.
Пример:
# Defining a string country = 'United States' # Using list() to convert it list new_list = list(country) # Printing string print("String:", country) # Printing the list print("List:", new_list)
В этом примере мы определили строковую переменную с именем Country, в которой хранится строковое значение. Затем мы использовали функцию list() и передали переменную страны в качестве аргумента функции list().
Это сформирует список, в котором каждый символ будет отдельным элементом списка.
Вот результат работы приведенной выше программы Python.
String: United States List: ['U', 'n', 'i', 't', 'e', 'd', ' ', 'S', 't', 'a', 't', 'e', 's']
Метод 2: с помощью map()
Обычно мы используем функцию map() в Python для применения определенной функции к итерации. Итак, здесь мы будем рассматривать строку как итерируемую и применять функцию str() к каждому символу строки.
Кроме того, мы будем использовать функцию list() для результата, чтобы сформировать из него единый список.
Вот код этой задачи на Python.
# Defining a string city_name = "Chicago" # Using map() to convert it list city_characters = list(map(str,city_name)) # Printing string print("String:", city_name) # Printing the list print("List:", city_characters)
Результат работы вышеуказанной программы Python показан ниже.
String: Chicago List: ['C', 'h', 'i', 'c', 'a', 'g', 'o']
Способ 3: с помощью функции лямбда и filter()
Как правило, лямбда-функция в Python — это анонимная функция, которую мы можем определить и вызвать с помощью одной строки кода.
И в этом методе мы будем использовать лямбда-функцию в сочетании с функцией filter() для преобразования строки в список в Python.
# Defining a string city_name = "Houston" # Using lambda funtion to convert it list city_characters = list(filter(lambda char:(char in city_name),city_name)) # Printing string print("String:", city_name) # Printing the list print("List:", city_characters)
В приведенном выше коде мы используем функцию filter() и лямбда-функцию для определения условия фильтра. При этом мы получаем каждый символ из строки, а затем используем функцию list() для создания из него списка.
Вот результат работы приведенной выше программы Python.
String: Houston List: ['H', 'o', 'u', 's', 't', 'o', 'n']
Способ 4: используя понимание списка
Еще один быстрый способ преобразовать строку в список — использовать понимание списка в Python.
Здесь мы используем цикл for для перебора каждого символа заданной строки и формирования с его помощью списка.
Вот пример кода для этого на Python.
# Defining a string city_name = "Phoenix" # Using list comprehension to convert it list city_characters = [ char for char in city_name ] # Printing string print("String:", city_name) # Printing the list print("List:", city_characters)
Выполнив вышеуказанную программу Python, мы получим следующий результат: список символов из заданной строки.
String: Phoenix List: ['P', 'h', 'o', 'e', 'n', 'i', 'x']
Способ 5: с помощью функции enumerate()
Enumerate() — это встроенная функция Python, которая принимает итерируемый объект в качестве входных данных и возвращает объект перечисления, который добавит счетчик к итерируемому объекту.
Итак, в этом методе мы будем использовать функцию enumerate() с пониманием списка для перебора каждого строкового символа и формирования списка с его использованием.
Вот пример такого подхода в Python.
# Defining a string city_name = "Houston" # Using enumerate() to convert it list city_characters = [ char for index, char in enumerate(city_name) ] # Printing string print("String:", city_name) # Printing the list print("List:", city_characters)
В этом примере сначала мы определили строку с именем city_name, а затем использовали понимание списка с помощью enumerate(). Это вернет список в Python, где каждый символ будет отдельным элементом списка.
Вот результат работы приведенной выше программы Python.
String: Houston List: ['H', 'o', 'u', 's', 't', 'o', 'n']
Способ 6: с помощью разрезания строк
Нарезка строк в Python — это еще один способ преобразования заданной строки в список.
В этом методе сначала мы определим пустой список, затем воспользуемся разрезанием заданной строки для формирования списка.
Вот пример этого примера на Python.
# Defining a string continent = "North America" # Defining a list char_list = [] # Using string slicing to convert to list char_list[:0] = continent # Printing string print("String:", continent) # Printing the list print("List:", char_list)
В приведенном выше примере мы определили строковую переменную с именем континент. После этого мы использовали концепцию нарезки строк для преобразования строки Python в список.
Кроме того, выполнив приведенную выше программу Python, мы получим следующий результат.
String: North America List: ['N', 'o', 'r', 't', 'h', ' ', 'A', 'm', 'e', 'r', 'i', 'c', 'a']
Метод 7: с помощью метода Split()
Метод Split() в Python — это встроенный строковый метод, который используется для разделения заданной строки на подстроку списка на основе указанного разделителя.
Итак, в этом методе мы определим строку и воспользуемся для нее методом Split(), чтобы преобразовать строку в список в Python.
Вот пример этой задачи на Python.
# Defining a string info = "The United States is a federal republic consisting of 50 states" # Using split() to convert string to list char_list = info.split(" ") # Printing string print("String:", info) # Printing the list print("List:", char_list)
В приведенном выше примере мы определили строку с именем info. Эта информационная переменная содержит строковое значение, относящееся к Соединенным Штатам. Затем мы просто используем метод Split() для строки, чтобы разделить все подстроки на основе пустого места(«»).
В последнем случае мы получим следующий результат на Python.
String: The United States is a federal republic consisting of 50 states List: ['The', 'United', 'States', 'is', 'a', 'federal', 'republic', 'consisting', 'of', '50', 'states']
Метод 8: с помощью метода re.findall()
Еще один быстрый способ преобразовать строку в список — использовать функцию re.findall() в Python.
re.findall() — это встроенная функция, доступная в модуле re Python, основная роль которой — найти все непересекающиеся вхождения шаблона в строке. И эта функция возвращает список всех непересекающихся вхождений.
Теперь мы можем использовать функцию re.findall(), чтобы найти все строковые символы и сформировать из них список.
Вот пример этой реализации на Python.
# Importing findall() from re import findall # Defining a string info = "The United States of America" # Using findall() to convert string to list char_list = findall('[a-zA-Z]', info) # Printing string print("String:", info) # Printing the list print("List:", char_list)
В приведенном выше примере мы используем функцию re.findall(), чтобы получить список всех строковых символов, которые присутствуют в данной строке. В нашем случае строка — это информационная переменная.
Вот окончательный результат вышеупомянутой программы Python.