any() e all(): Verificações Lógicas Rápidas

Publicado:
Atualizado:
PorJeferson Peter
1 min de leitura
Python
Compartilhe este post:

Verificar múltiplas condições é algo extremamente comum em Python.
Seja para validar dados, aplicar regras ou filtrar valores, geralmente surgem perguntas simples:

  • Algum item atende a essa condição?
  • Todos os itens atendem a essa condição?

É exatamente para isso que any() e all() existem.


Entendendo o any()

any() retorna True se pelo menos um elemento do iterável for verdadeiro.

values = [0, "", None, 5]

any(values)
# True

Assim que um valor verdadeiro é encontrado, a avaliação é interrompida.


Entendendo o all()

all() retorna True apenas se todos os elementos do iterável forem verdadeiros.

values = [1, 2, 3]

all(values)
# True

Se um único valor falso aparecer, o resultado será False.


Um padrão comum sem any() / all()

numbers = [2, 4, 6, 8]

is_valid = True
for n in numbers:
    if n % 2 != 0:
        is_valid = False
        break

Funciona, mas é mais verboso e tende a crescer com lógica desnecessária.


A mesma lógica com all()

numbers = [2, 4, 6, 8]

is_valid = all(n % 2 == 0 for n in numbers)

A intenção fica imediatamente clara: todos os números devem ser pares.


Combinando com condições

names = ["Alice", "Bob", ""]

has_empty_name = any(name == "" for name in names)

A leitura se aproxima bastante de linguagem natural.


Um erro comum a evitar

Cuidado ao misturar any() ou all() com expressões complexas:

# Difícil de ler — evite
is_valid = all(
    (x := compute(x)) > 0 and x < 10
    for x in values
)

Se a lógica ficar densa, dividir em etapas costuma ser mais legível.


Conclusão

Na prática, any() e all() ajudam a escrever código focado em intenção, não em mecânica.

Sempre que você estiver usando loops apenas para validar condições, essas funções quase sempre são a melhor opção.

Compartilhe este post:
any() e all(): Verificações Lógicas Rápidas | CodeCraftPython