Нужно проверить, что все значения в prices строго положительные. Какое выражение вернёт True только если все элементы больше 0?

Aany(p > 0 for p in prices)
B[p > 0 for p in prices]
Csum(p > 0 for p in prices)
Dall(p > 0 for p in prices)
Правильный ответ. all() возвращает True, только если все проверки в генераторе истинны.

Разбор

Конструкция all(p > 0 for p in prices) не создаёт промежуточный список, а последовательно проверяет элементы и возвращает False, как только встречает не подходящее значение. Вариант с any() отвечает на другой вопрос: «есть ли хотя бы один положительный».

Проверь себя · 1/3разбор после ответа
Дан список батчей batches = [[101, 102], [], [103]]. Что вернёт выражение [x for batch in batches for x in batch]?
Тренировать Python в Telegram

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