Как удалить все пустые строки из списка Python?

Пользователь

от gussie.jones , в категории: Python , 2 года назад

Как удалить все пустые строки из списка Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от richard , 2 года назад

@gussie.jones На самом деле существует множество вариантов удалить все пустые строки из списка в Python:

  1. Использовать filter() функцию
  2. Использовать цикл for и удалить пустые элементы и использовать .strip() если нужно также удалить строки с пустыми пробелами

Посмотрите небольшой пример кода на Python:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
strings_list = ["тест", "", " ", "тест 2"]

strings_list = list(filter(None, strings_list))

# Вывод: ['тест', ' ', 'тест 2']
print(strings_list)

# Если нужно удалить строки
# с пустыми пробелами
strings_list = ["тест", "", " ", "тест 2"]
strings_list[:] = [x for x in strings_list if x.strip()]

# Вывод: ['тест', 'тест 2']
print(strings_list)

Пользователь

от nicolette.stoltenberg , год назад

@gussie.jones 

Вы можете использовать функцию filter() для удаления всех пустых строк из списка. Например:

1
2
3
list_with_empty_strings = ["apple", "", "banana", "", "cherry"]
filtered_list = list(filter(None, list_with_empty_strings))
print(filtered_list)


Вывод:

1
['apple', 'banana', 'cherry']


В этом примере, функция filter() проходит по каждому элементу списка list_with_empty_strings и оставляет только те элементы, которые не являются пустыми строками (т.е. элементы, которые не равны None или "").