Нужно получить список строк без пустых значений из items. Вы решили использовать filter(), и хотите избежать лишнего lambda. Какой вариант лучше?

Alist(filter(lambda x: x, items))
Blist(filter(None, items))
C[x for x in items if x]
Dfilter(None, items)
Правильный ответ. filter(None, items) оставляет только truthy элементы, а обёртка list(...) превращает результат в список.

Разбор

Если вы используете filter() для удаления пустых значений, вариант list(filter(None, items)) обычно читается проще, чем list(filter(lambda x: x, items)), потому что не добавляет лишнюю lambda. Важно помнить: filter() возвращает итератор, поэтому для получения списка нужно обернуть в list(...).

Проверь себя · 1/3разбор после ответа
Есть список булевых результатов проверок качества данных checks. Какое выражение наиболее прямо отвечает на вопрос «все проверки прошли»?
Тренировать Python в Telegram

Ещё вопросы по теме «Генераторы списков и встроенные функции»