Filtrando uma lista de strings com base em seu conteúdo
Dada uma lista de strings, você pode encontrar a necessidade de extrair apenas aquelas que contêm uma substring específica. Em Python, existem várias maneiras eficazes de realizar essa operação de filtragem.
Usando compreensões de lista
Uma das abordagens mais simples e recomendadas é utilizar as poderosas compreensões de lista do Python . As compreensões de lista fornecem uma maneira concisa e expressiva de criar uma nova lista com base nos elementos de uma lista existente. Para seu requisito específico de filtragem de strings que contêm 'ab', você pode empregar a seguinte compreensão:
lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]
Esta compreensão itera através de cada string na lista original ('a', 'ab', 'abc', 'bac') e verifica se contiver a substring 'ab'. Se for verdade, adiciona a string à lista resultante. Isso fornece a lista filtrada desejada: ['ab', 'abc'].
Usando a função de filtro
Outro método para filtrar strings em Python é usar a função de filtro. Esta função recebe uma função de filtro e um iterável como argumentos e retorna um iterador que produz os elementos do iterável que satisfazem a função de filtro. No seu caso, você pode usar o filtro da seguinte maneira:
lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))
A função filter recebe uma função anônima (função lambda) como seu primeiro argumento, que verifica se 'ab' existe na entrada corda. O segundo argumento é a lista original. O resultado do filtro é um iterador, que é então convertido em uma lista usando list(). Novamente, isso produz a lista ['ab', 'abc'] desejada.
Embora as compreensões de lista e a função de filtro possam alcançar a filtragem desejada, as compreensões de lista são geralmente preferidas por sua concisão e legibilidade, especialmente para tarefas simples de filtragem como esta.
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