Есть список сумм amounts = [0, 0, 10]. Что вернёт выражение any(a > 0 for a in amounts)?

AБулево значение False
BИсключение TypeError
CБулево значение True
DЦелое число 1
Правильный ответ. any(...) возвращает True, как только встречает первый истинный элемент в последовательности.

Разбор

Функция any() принимает любой итерируемый объект, в том числе генераторное выражение, и возвращает булево значение. Для [0, 0, 10] условие a > 0 истинно на третьем элементе, поэтому результат — True. Нули в списке не «перевешивают» истинное значение: any ищет хотя бы одно истинное. any возвращает именно True/False, а не количество подходящих элементов (для этого подошёл бы sum).

Проверь себя · 1/3разбор после ответа
Есть список email emails = ["a@x.com", "b@y.com", "c@x.com"]. Нужно получить множество доменов (часть после @). Какой вариант корректен?
Тренировать Python в Telegram

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