Pesquisando propriedades de objetos em uma lista (Python)

Você tem uma lista de objetos (clientes) e (por alguma razão) quer saber se algum deles possuem conta no gmail. Geralmente você faz um for, iterando pela lista e comparando individualmente a propriedade de email. Pois é, o Python tem uma função que faz isso para você, ou seja, a leitura fica melhor e você economiza linhas de código.

Caso precise revisar a sintaxe de loops em Python, você pode dar uma olhada neste post.

Para fins didáticos, vamos imaginar a seguinte classe:

 

Ok. Temos uma ‘classe base’ para este exemplo, vamos criar duas listas utilizando esta classe:

(Obs: Inventei todos os usuários. Em teoria, nenhum deles existe no mundo real, mas se tiver acertado algum, só avisar que eu mudo o post.)

 

Para fazer a verificação, vamos utilizar a função any, que recebe uma expressão como argumento e retorna True se existir alguma correspondência ou False se não existir. Veja a estrutura:

 

Adaptando esta sintaxe para a nossa necessidade:

 

Obviamente, se isso fosse utilizado no mundo real, precisaríamos incluir algumas verificações extras, pois xpto@Gmail.com é diferente de xpto@gmail.com, mas vamos manter este exemplo simples. 🙂

 

Agora a utilização desta função para verificar se algum cliente possui conta no gmail:

 

O fonte acima irá imprimir este resultado no console:

 

Espero ter ajudado.

 

Referências:

The following two tabs change content below.
Breno RdV
Ex-Psicólogo, com quase uma década de experiência em Recursos Humanos e Gestão de Pessoas, atual desenvolvedor e Analista de Sistemas, trabalhando com PowerBuilder, C#, PowerShell e expandindo horizontes para Python, Xamarin, PHP, Angular e (por que não?) Unity.

Comments

comments

Posted in Dev, Python and tagged , , , .