Отбор истинных элементов из списка

List comprehension оставляет истинные элементы без преобразования. Из списка удалятся False, пустая строка, числовые нули и None; порядок остальных значений сохранится.

Короткий ответ

Что ответить на собеседовании

List comprehension оставляет истинные элементы без преобразования. Из списка удалятся False, пустая строка, числовые нули и None; порядок остальных значений сохранится.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо выполнить преобразование и отфильтровать исходный массив, используя list comprehension (встроенный цикл), чтобы в результирующем списке остались только те элементы, которые Python считает истинными.

values = [1.1, False, 18, '', 0, '□', 'Ω', {'id': 777}, True, 'hello', 0.0, '○', None]
filtered = [v for v in values if v]

Ответ

List comprehension оставляет истинные элементы без преобразования. Из списка удалятся False, пустая строка, числовые нули и None; порядок остальных значений сохранится.

Результат:

[1.1, 18, '□', 'Ω', {'id': 777}, True, 'hello', '○']

True остаётся, поскольку является истинным значением. Это не отбор только булевых True и не преобразование к bool. Непустой словарь тоже истинен. Новый список содержит ссылку на прежний словарь, а не его глубокую копию.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее