Era o que ia falar.

Criar o set faz sentido se vc vai fazer muitas buscas e/ou tiver muitos elementos, pois aí o custo de criá-lo se paga.

Mas se é só para uma ou poucas buscas (ou listas com poucos elementos), pode até piorar. Ou no melhor caso, tanto faz porque a diferença será irrisória e imperceptível - afinal, para poucos dados, tudo é rápido.

Dito isso, gosto da mensagem geral, de que conhecer as estruturas de dados é importante. Vejo muito código desnecessariamente complicado ou ineficiente por aí, simplesmente porque a pessoa está usando a estrutura errada.

Exatamente! A conversão para set só faz sentido quando há múltiplas buscas ou um grande volume de dados, pois o custo de criação se paga nesses casos. Para listas pequenas ou poucas buscas, a diferença pode ser insignificante ou até piorar a performance. O exemplo poderia ter sido melhor escolhido, mas a ideia principal continua sendo a importância de conhecer estruturas de dados para evitar códigos desnecessariamente complicados ou ineficientes. Muitas vezes, a escolha errada da estrutura pode impactar mais do que parece!

Eu tinha uns 20 exemplos e escolhi o pior, no proximo post eu melhoro, obrigado!