>>> data = [False, False, False]
>>> not any(data)
True
any вернет True, если в iterable есть значение истины.
Ответ 2
В принципе существуют две функции, которые обрабатывают итерацию и возвращают True или False, в зависимости от того, какие элементы логических значений последовательности оцениваются.
all(iterable) возвращает значение True, если все элементы iterable считаются истинными значениями (например, reduce(operator.and_, iterable)).
any(iterable) возвращает значение True, если хотя бы один элемент iterable является истинным значением (опять же, используя функциональный материал, reduce(operator.or_, iterable)).
Используя функцию all, вы можете сопоставить operator.not_ над своим списком или просто создать новую последовательность с отрицательными значениями и проверить, что все элементы новой последовательности верны:
>>> all(not element for element in data)
С помощью функции any вы можете проверить, что хотя бы один элемент является истинным, а затем отрицает результат, так как вам нужно вернуть False, если есть истинный элемент:
>>> not any(data)
Согласно закону Де Моргана, эти два варианта вернут тот же результат, но я предпочел бы последний (который использует any), потому что он короче, читабельнее (и может быть интуитивно понято как "есть", t истинное значение в данных ") и более эффективно (поскольку вы не создаете никаких дополнительных последовательностей).
Ответ 3
Давай, ребята, он попросил вернуть "Истину", был ли какой-нибудь Истинный.
Говоря то же самое, False, когда все являются ложными.