Olá, Aristóteles. Como vai?
Excelente exemplo de como tratar dados ausentes em uma lista! Esse é um cenário extremamente comum no dia a dia de quem trabalha com programação e análise de dados, onde nem sempre as informações estão completas.
No seu código, você utilizou corretamente a verificação if projeto is None. Em Python, o is é o operador recomendado para comparar variáveis com o objeto None, pois ele verifica a identidade do objeto na memória, garantindo uma comparação mais precisa do que o operador de igualdade ==.
Para complementar sua prática, gostaria de apresentar duas formas alternativas de lidar com esse fluxo de controle que podem ser muito úteis:
**1. Pulando o item ausente com continue**
Se o seu objetivo fosse apenas listar os projetos existentes e ignorar completamente os que estão faltando (sem imprimir a mensagem de erro), você poderia utilizar a palavra-chave continue. Ela interrompe a iteração atual e pula direto para o próximo item da lista:
for projeto in projetos:
if projeto is None:
continue
print(projeto)
**2. Parando a execução com break**
Imagine que seu código está processando uma fila de tarefas e, ao encontrar um valor None, você decide que não deve mais continuar o processamento. Para isso, usamos o break:
for projeto in projetos:
if projeto is None:
break
print(projeto)
Dica de Python Moderno
A partir do Python 3.10, também podemos usar o match case, que torna a leitura bem elegante para verificações de padrões:
for projeto in projetos:
match projeto:
case None:
print("projeto ausente")
case _:
print(projeto)
Essas estruturas de controle ajudam a tornar seu código mais resiliente e preparado para lidar com diferentes tipos de entrada de dados.
Espero que possa ter lhe ajudado!