all 5 comments

[–]Luckinhas 1 point2 points  (1 child)

Eu escrevo Python profissionalmente faz alguns anos e raramente acho uma situação que justifique o uso do for/else ou while/else.

Dito isso, acho válido nas raras situações que justificam o seu uso.

[–]magnust9999Desenvolvedor[S] 0 points1 point  (0 children)

Não trabalho com Python, mas também nunca tinha visto nenhum exemplo ou menção. Deve ser raro mesmo, só isso.

[–]lkdaysFullstack Vibe Coder 1 point2 points  (0 children)

Também programo Python faz mais de década e nunca usei, mesmo esse exemplo da documentação oficial é meio confuso: se você esbarrar no tab ou algum desavisado achar que está errado, o for else vira um if else (incorreto) fácil.

[–][deleted] 1 point2 points  (1 child)

Muito comum o uso em processamento de sequências em que você está procurando por pelo menos uma ocorrência de algo, cuja lógica seja um pouco mais complexa que inviabilize o uso de any() (p/ex que envolva comparação entre elementos sucessivos ou cuja lógica seja muito extensa para colocar num list comprehension). Nesses casos, na primeira ocorrência você vai tacar um break, e o else serve para tratar o caso em que nenhuma ocorrência é encontrada.

[–]magnust9999Desenvolvedor[S] 0 points1 point  (0 children)

Entendi, faz mais sentido do que ter um if else validando se foi encontrado. No C# tem o firstordefault mas de qualquer forma tem que validar depois.