Encontre String na Lista em Python

Manav Narula 30 janeiro 2023
  1. Use o loop for para encontrar elementos de uma lista que contenha uma substring específica em Python
  2. Use a função filter() para encontrar elementos de uma lista Python que contenham uma substring específica
  3. Use as expressões regulares para encontrar elementos de uma lista Python que contenham um substring específico
Encontre String na Lista em Python

Este tutorial irá apresentar como encontrar elementos de uma lista Python que possuem uma substring específica.

Vamos trabalhar com a seguinte lista e extrair strings que contenham ack.

my_list = ["Jack", "Mack", "Jay", "Mark"]

Use o loop for para encontrar elementos de uma lista que contenha uma substring específica em Python

Nesse método, iteramos pela lista e verificamos se a substring está presente em um elemento específico ou não. Se a substring estiver presente no elemento, então a armazenamos na string. O código a seguir mostra como:

str_match = [s for s in my_list if "ack" in s]
print(str_match)

Resultado:

['Jack', 'Mack']

A palavra-chave in verifica se a string fornecida, "ack" neste exemplo, está presente na string ou não. Ele também pode ser substituído pelo método __contains__, que é um método mágico da classe string. Por exemplo:

str_match = [s for s in my_list if s.__contains__("ack")]
print(str_match)

Resultado:

['Jack', 'Mack']

Use a função filter() para encontrar elementos de uma lista Python que contenham uma substring específica

A função filter() recupera um subconjunto dos dados de um determinado objeto com a ajuda de uma função. Este método usará a palavra-chave lambda para definir a condição de filtragem de dados. A palavra-chave lambda cria uma função lambda de uma linha em Python. Veja o seguinte trecho de código.

str_match = list(filter(lambda x: "ack" in x, my_list))
print(str_match)

Resultado:

['Jack', 'Mack']

Use as expressões regulares para encontrar elementos de uma lista Python que contenham um substring específico

Uma expressão regular é uma sequência de caracteres que pode atuar como um padrão de correspondência para pesquisar elementos. Para usar expressões regulares, temos que importar o módulo re. Neste método, usaremos o loop for e o método re.search(), que é usado para retornar um elemento que corresponde a um padrão específico. O código a seguir explicará como:

import re

pattern = re.compile(r"ack")
str_match = [x for x in my_list if re.search("ack", x)]
print(str_match)

Resultado:

['Jack', 'Mack']
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python List