"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 filtrar uma lista de strings contendo uma substring específica em Python?

Como filtrar uma lista de strings contendo uma substring específica em Python?

Publicado em 2024-11-03
Navegar:175

How to Filter a List of Strings Containing a Specific Substring in Python?

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.

Declaração de lançamento Este artigo foi reimpresso em: 1729375938 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
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