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.
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