Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Списки являются одной из ключевых структур данных в Python. В некоторых случаях, при работе со списками строк, может возникнуть необходимость удалить все пустые строки из списка.
Рассмотрим следующий пример:
1 | str_list = [ 'Hello' , ' ', ' World ', ' ', ' Python ', ' ', ' '] |
В этом списке есть пустые строки, которые необходимо удалить.
Один из возможных подходов к решению этой задачи — использовать цикл while с проверкой на наличие пустой строки в списке и удалением ее при обнаружении. Этот подход, однако, не является самым эффективным и «питоновским».
Более «питоновский» и эффективный способ удаления пустых строк из списка — использование спискового включения (list comprehension).
1 2 | str_list = [ 'Hello' , ' ', ' World ', ' ', ' Python ', ' ', ' '] str_list = [i for i in str_list if i] |
В результате выполнения данного кода получим список без пустых строк:
1 | [ 'Hello' , 'World' , 'Python' ] |
Списковое включение в данном случае создает новый список, который включает только те элементы изначального списка, которые не являются пустой строкой. Это происходит благодаря условию if i
, которое исключает из нового списка все пустые строки.
Следует заметить, что этот подход не меняет исходный список, а создает новый. Если необходимо изменить исходный список, можно присвоить результат спискового включения исходному списку, как это сделано в примере выше.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий