Palavras-chave: Python, or, in, if, while, condicional, pythonico
Quem está começando no mundo do desenvolvimento Python e não conhece muito a linguagem, costuma criar cláusulas condicionais muito longas utilizando o operador “or”:
if a == "foo" or a == "bar" or a == "baz": print a
Imagine o tamanho dessa cláusula quando precisar comparar o valor de “a” com muitos outros valores. Para essas situações você pode usar o operador “in” do Python que verifica se há uma ocorrência do objeto em uma lista:
if a in ["foo", "bar", "baz"]: print a
Ficou bem mais simples e legível, não? Esta é a maneira “pythônica” de se montar esse tipo de cláusula condicional.
Essa dica foi sugerida pelo meu amigo Ulysses que me atentou para o fato de que os novatos na linguagem costumam fazer esse tipo de cláusula da forma inadequada.
Seria ainda melhor se usasse uma tupla em vez de uma lista. Tanto por estar usando a estrutura mais adequada na ocasião, quanto pelo desempenho.