Функция all() в Python — как использовать
В этом уроке вы узнаете, как использовать функцию Python all() для проверки истинности всех элементов итерируемого объекта.
- Знакомство с функцией Python all()
- Практические примеры функции all()
- 1) Упрощение сложного условия
- 2) Проверка итераций чисел
Знакомство с функцией Python all()
Функция Python all() принимает итерируемый объект и возвращает True, если все элементы итерируемого объекта равны True. Она также возвращает True, если итерируемый объект пуст.
Вот синтаксис функции all():
all(iterable)
Следующий пример иллюстрирует функции all():
mask = [True, True, False] result = all(mask) print(result) # 👉 False mask = [True, True, True] result = all(mask) print(result) # 👉 True result = all([]) print(result) # 👉 True
Как это работает.
- Во-первых, [True, True, False] имеет элемент со значением False, функция all() возвращает False.
- Во-вторых, [True, True, True] содержит все элементы со значением True, функция all() возвращает True.
- В-третьих, [] — это пустой итерируемый объект, поэтому функция all() также возвращает True.
Практические примеры функции all()
Давайте рассмотрим несколько практических примеров использования функции all().
1) Упрощение сложного условия
В следующем примере проверяется, больше ли длина v нуля и меньше ли 25, а также содержит ли она только буквенно-цифровые символы:
v = 'Python' if len(v) > 0 and len(v) < 25 and v.isalnum(): print(v)
Условие довольно сложное. Чтобы сделать его короче, можно заменить все операторы и функцией all() следующим образом:
v = 'Python' valid = all([len(v) > 0, len(v) < 25, v.isalnum()]) if valid: print(v)
В этом примере значение valid принимает значение True, если все условия внутри кортежа, переданного в all(), возвращают значение True.
2) Проверка итераций чисел
В следующем примере функция all() используется для проверки того, все ли числа итерируемого объекта больше или равны четырем:
ratings = [3, 5, 4, 2, 4, 5] has_good_rating = all([rating >= 4 for rating in ratings]) print(has_good_rating) # false
Как это работает.
- Во-первых, используйте списочное понимание, чтобы преобразовать список оценок в список True и False.
Следующий код
[rating >= 4 for rating in ratings]
возвращает список логических значений:
[False, True, True, False, True, True]
- Во-вторых, передайте результат понимания списка в функцию all(). Таким образом, функция all() возвращает False, поскольку список содержит некоторые элементы False.