"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso comparar com eficiência uma string com muitos valores possíveis em Python?

Como posso comparar com eficiência uma string com muitos valores possíveis em Python?

Publicado em 23/11/2024
Navegar:985

How Can I Efficiently Compare a String Against Many Possible Values in Python?

Comparação eficiente de strings em Python

Em Python, comparar uma string com vários valores possíveis pode ser crucial para validar entradas ou executar operações condicionais. Uma abordagem comum é usar uma série de instruções if-else, comparando explicitamente a string com cada valor possível. No entanto, isso pode levar a um código detalhado e ineficiente, especialmente ao lidar com uma lista extensa de valores.

Uma solução alternativa envolve o uso de um conjunto. Um conjunto é uma coleção de elementos exclusivos que oferece suporte a testes rápidos de adesão. Ao criar um conjunto contendo as strings válidas e, em seguida, verificar a presença da string de entrada no conjunto, você pode obter uma validação eficiente.

Por exemplo, se as strings válidas forem:

auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, ... , local7

Você pode crie um conjunto da seguinte forma:

accepted_strings = {'auth', 'authpriv', 'daemon', ...}

Então, você pode comparar o recurso de string de entrada com o conjunto usando o operador in:

if facility in accepted_strings:
    do_stuff()

A verificação de contenção em um conjunto é uma operação de tempo constante (O(1) em média), tornando-a altamente eficiente mesmo com um grande número de strings válidas.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3