Python Verifique se a lista contém uma string

Hemank Mehtani 30 janeiro 2023
  1. Use o loop for para verificar uma string específica em uma lista Python
  2. Use a compreensão de lista para verificar uma string específica em uma lista Python
  3. Use a função filter() para obter uma string específica em uma lista Python
Python Verifique se a lista contém uma string

Strings são uma sequência de caracteres. Assim como as strings armazenam caracteres em posições específicas, podemos usar listas para armazenar uma coleção de strings.

Neste tutorial, obteremos uma string com valores específicos em uma lista Python.

Use o loop for para verificar uma string específica em uma lista Python

O for é usado para iterar sobre uma sequência em Python.

Sua implementação para a obtenção de uma string contendo valores específicos é mostrada no exemplo a seguir.

py_list = ["a-1", "b-2", "c-3", "a-4"]
new_list = []
for x in py_list:
    if "a" in x:
        new_list.append(x)
print(new_list)

Resultado:

['a-1','a-4']

No código acima, a instrução if é usada dentro do loop for para pesquisar strings contendo a na lista py_list. Outra lista chamada new_list é criada para armazenar essas strings específicas.

Use a compreensão de lista para verificar uma string específica em uma lista Python

A compreensão de lista é uma forma de criar novas listas com base na lista existente. Ele oferece uma sintaxe mais curta, sendo mais compacta e rápida do que as outras funções e loops usados ​​para criar uma lista.

Por exemplo,

py_list = ["a-1", "b-2", "c-3", "a-4"]
r = [s for s in py_list if "a" in s]
print(r)

Resultado:

['a-1', 'a-4']

No código acima, a compreensão de lista é usada para pesquisar strings que tenham a na lista py_list.

Observe que escrever o mesmo código usando outras funções ou loops levaria mais tempo, pois mais código é necessário para sua implementação, mas a compreensão de lista resolve esse problema.

Também podemos usar a compreensão de lista para descobrir strings contendo vários valores específicos, ou seja, podemos encontrar strings contendo a e b em py_list combinando as duas compreensões.

Por exemplo,

py_list = ["a-1", "b-2", "c-3", "a-4", "b-8"]
q = ["a", "b"]
r = [s for s in py_list if any(xs in s for xs in q)]
print(r)

Resultado:

['a-1', 'b-2', 'a-4','b-8']

Use a função filter() para obter uma string específica em uma lista Python

A função filter() filtra o iterável dado com a ajuda de uma função que verifica se cada elemento satisfaz alguma condição ou não.

Ele retorna um iterador que aplica a verificação para cada um dos elementos do iterável.

Por exemplo,

py_lst = ["a-1", "b-2", "c-3", "a-4"]
filter(lambda x: "a" in x, py_lst)
print(filter(lambda x: "a" in x, py_lst))

Resultado:

<filter object at 0x7fd36c1905e0>

Observe que a saída acima é um objeto do tipo filtro-iterador, pois a função filter() retorna um iterador em vez de uma lista.

Podemos usar a função list() conforme mostrado no código abaixo para obter uma lista.

list(filter(lambda x: "a" in x, py_lst))

Resultado:

['a-1','a-4']

No código acima, usamos filter() para encontrar uma string com valores específicos na lista py_list.

Artigo relacionado - Python String

Artigo relacionado - Python List