Blog

Postado em em 4 de abril de 2023

All e Any no Python – Listas com Todos ou Pelo Menos um Valor

Você sabe utilizar o All e Any no Python? Hoje vamos aprender a identificar quantos itens de uma lista correspondem a uma condição.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

All e Any no Python

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero te mostrar como funciona o All e Any no Python, essas são duas funções que vão te ajudar a resolver desafios em listas no Python.

Essas funções verificam se todos os itens são verdadeiros (All) ou se apenas um deles é verdadeiro (Any).

No exemplo desta aula vamos fazer uma verificação de saldo, então vamos verificar se todos os saldos de uma lista são positivos ou se algum deles é negativo.

E vamos fazer isso utilizando as funções Any e All, além disso, vamos utilizar o list comprehension para criar essas listas de verificação. Com isso podemos utilizar um if para fazer a verificação desses itens e de fato trazer um resultado para o usuário se temos um valor negativo ou se todos os valores são positivos!

E aí! Gostou do tema? Então bora para a aula!

Vamos analisar uma lista com valores que correspondem ao saldo de uma conta, nosso objetivo é conseguir determinar se existe saldo negativo.

Para isso vamos precisar de uma lista auxiliar, esta lista vai nos dizer se o valor analisado é maior ou menor que zero retornando true ou false. Feito isso, vamos conseguir usar a função Any.

Se algum valor da lista for verdadeiro (true) a função Any resulta em Foi (conforme a função abaixo) a função Any só vai resultar Não Foi se não houver nenhum valor verdadeiro na lista, é necessário somente um para ter o resultado positivo.

saldo = [10, 100, 1500, 3000, 3000, 2900, 2800, 3000, 4500, -10, 13, 20, 50, 50, 50, 50, 50]

verificar_saldo = [false, false, false, true, false]

if any(verificar_saldo):

    print("Foi")

else:

    print("Não Foi")

Resultado:

Foi

O All vai analisar todos os itens da lista, ou seja, o resultado só é positivo (Foi) se todos os valores da lista forem positivos.

saldo = [10, 100, 1500, 3000, 3000, 2900, 2800, 3000, 4500, -10, 13, 20, 50, 50, 50, 50, 50]

verificar_saldo = [true, true, true, true, false]

if all(verificar_saldo):

    print("Foi")

else:

    print("Não Foi")

Resultado:

Não Foi

Exemplos práticos

Vamos utilizar o Any para indicar quando o valor da lista for maior que zero (false) e se for menor que zero (true).

Na lista auxiliar vamos utilizar uma estrutura chamada List Comprehension, clique no link e veja a aula completa sobre a lógica desta estrutura.

saldo = [10, 100, 1500, 3000, 3000, 2900, 2800, 3000, 4500, -10, 13, 20, 50, 50, 50, 50, 50]

if any([item < 0 for item in saldo]): “para cada item que tem na lista de saldo quais são menor que zero?”

    print("Teve saldo negativo")

else:

    print("Não teve saldo negativo")

Teve saldo negativo

Vamos construir a mesma lógica usando o ALL

saldo = [10, 100, 1500, 3000, 3000, 2900, 2800, 3000, 4500, -10, 13, 20, 50, 50, 50, 50, 50]

if all([item >= 0 for item in saldo]): Observe que quando usamos o All invertemos o sinal de menor que, para maior ou igual >=

    print("Não teve negativo")

else:

    print("Teve negativo")

Teve negativo

É dessa forma que usamos as estruturas Any e All, é importante se adaptar a construção dela, porque vamos precisar dessas funções para verificar se pelo menos um dos resultados ou todos eles correspondem, ou não, a uma condição.

Conclusão – All e Any no Python

Você já conhecia a estrutura All e Any? Sabia como construir essa estrutura?

Fiz essa aula curta e direto ao ponto para exemplificar para você essas duas funções importantes do Python.

Em resumo, para o Any basta que uma condição seja verdadeira para que o resultado da função retorne positivo, ou seja, pelos menos um dos valores deve corresponder a condição, já o All analisa todos os itens da lista sendo necessário que todos correspondam para um resultado positivo.

Espero que tenham gostado! Eu fico por aqui! Abraço,

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador