"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 verificar com eficiência a presença do elemento da lista em uma string Python?

Como verificar com eficiência a presença do elemento da lista em uma string Python?

Publicado em 2024-11-08
Navegar:404

How to Efficiently Check for List Element Presence in a Python String?

Verificando a presença do elemento da lista em uma string em Python

Uma tarefa comum na programação Python é verificar se uma string inclui um elemento de um determinado lista. Uma abordagem tradicional emprega um loop for, conforme exemplificado no código abaixo:

extensionsToCheck = ['.pdf', '.doc', '.xls']

for extension in extensionsToCheck:
    if extension in url_string:
        print(url_string)

Embora funcional, esse método pode parecer complicado. Uma abordagem mais sucinta envolve a utilização de um gerador acoplado à função any(), que avalia seus argumentos até encontrar o primeiro True:

if any(ext in url_string for ext in extensionsToCheck):
    print(url_string)

Usando formatação de string

Como alternativa, se a ordem dos elementos na lista for importante, a formatação de string pode ser empregada. Por exemplo:

url_string = 'sample.doc'
extensionsToCheck = ['.pdf', '.doc', '.xls']

if f'.{url_string.split(".")[-1]}' in extensionsToCheck:
    print(url_string)

Aqui, o método .split() separa a string da URL com base no período, e o índice [-1] seleciona o último elemento, representando a extensão do arquivo. A string f então formata a extensão no formato correto para comparação.

Nota: Usar any() neste contexto apenas verifica se algum elemento da lista está presente na string, independentemente da sua posição. Se a localização específica do elemento for importante, métodos mais precisos, como regex ou funções de manipulação de strings, devem ser considerados.

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