Автор оригинала: Chris.
Программирование – это унизительный опыт. Казалось бы, простые вещи часто удивляют вас, они не так тривиальны в конце концов. Один из таких примеров – строка для преобразования списка. В этой статье вы узнаете все, что вам нужно знать, чтобы преобразовать строку в список различных контекстов и используя различные методы.
Список (строка) | Разбить строку в список символов. |
[C для C в строке] | Понимание списка для простых модификаций символов. |
lst = []; Для C в строке: list.append (c) | Для более сложных модификаций символов. |
string.split () | Сломать строку в произвольные подстроки, используя разделитель. |
Проблема : Учитывая такую строку, как «Hello World»
Отказ Как преобразовать его в Список ['Привет, мир']
?
Есть четыре основных способа достичь этого. Вы можете получить быстрый обзор здесь:
Упражнение : Что произойдет, если вы попытаетесь преобразовать пустую строку в список? Попытайся!
Давайте погрузимся в четыре разных метода!
Метод 1: Список ()
Первый метод использует по умолчанию Список (итабельный)
Конструктор, который занимает ИТЕРИТЕЛЬНО
и создает новый список, итерацией по всем элементам и добавляя их один за другим. Многие Кодеры для начинающих Не знаю, что строки также являются имитаны в Python. Итак, вы можете пройти строку в Список ()
Конструктор для получения списка персонажей!
s = 'hello world' lst = list(s) print(lst) # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
Этот метод лучше всего наилучшего, если вы хотите расставить строку в его составляющие. Но каковы альтернативы (и когда они используются)? Давайте рассмотрим в следующем методе!
Метод 2: Понимание списка
Понимание списка является компактным способом создания списков. Простая формула – [Выражение + контекст]
Отказ
- Выражение: Что делать с каждым элементом списка?
- Контекст: Какие элементы для выбора? Контекст состоит из произвольного количества
для
иЕсли
заявления.
Пример [X для X в диапазоне (3)]
Создает список [0, 1, 2]
.
Вы можете использовать список списков, чтобы повторить все символы в строке и добавить их в список, используя выражение личности (добавление персонажа без изменений в новый список):
s = 'hello world' lst = [c for c in s] print(lst) # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
Этот метод лучше всего наилучшего, если вы хотите выполнить любую модификацию с каждыми (или некоторыми) символами из строки, прежде чем поместить их в новый список. Например, вы могли бы преобразовать их в Заглавные буквы Используя заявление о понимании списка [C.upper () для C в S]
:
lst = [c.upper() for c in s] print(lst) # ['H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D']
Вы можете узнать больше о понимании списка в следующем видео:
Способ 3: простая петля
Третий метод для преобразования строки в список – это использовать простой для цикла:
s = 'hello world' lst = [] for c in s: lst.append(c) print(lst) # ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
Не стоит недооценивать это! Большое преимущество использования для
Цикл – это его гибкость. Вы можете легко выполнить сложные операции с каждым символом в многострочной петли. Это невозможно с обоими предыдущими методами!
Способ 4: разделение ()
Наконец, вы не хотите разбить строку на своих отдельных персонажей. Другой способ преобразовать строку в список – использовать Сплит ()
Способ, который нарушает строку в подстроки, используя пробелы в качестве разделителей:
s = 'hello world' lst = s.split() print(lst) # ['hello', 'world']
Вы также можете изменить строку разделителя, передавая его в Сплит ()
функция. Например, S.Split ('O')
создаст список с тремя подстролами [«Ад», «W», «RLL»]
Отказ
Есть также регулярное выражение Вариант Сплит ()
Функция, которая является еще более мощной, потому что она позволяет разделить на произвольном рисунке, как любое количество пробелов и т. Д. Эта статья описывает эту расширенную функцию Python более подробно.
Как преобразовать список строк обратно в строку?
Обратная работа методов, обсуждаемых здесь, это String.join ()
метод.
String.join (ИТЕРАЛ)
Метод объединяет Все строковые элементы в считать
(например, список, строка или кортеж) и возвращает результат как новую строку. строка
На котором вы называете это строку разделителя – и он отделяет отдельные элементы. Например, '-'. Присоединяйтесь («Hello ',« мир »])
Возвращает соединенную строку «Привет-мир»
Отказ
>>> '-'.join(['hello', 'world']) 'hello-world'
Куда пойти отсюда?
Достаточно теории, давайте познакомимся!
Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?
Практические проекты – это то, как вы обостряете вашу пилу в кодировке!
Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?
Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.
Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.
Присоединяйтесь к свободному вебинару сейчас!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/python-string-to-list-the-most-pythonic-way/”