Filtre uma lista de string usando outra lista
Este exemplo mostra como os dados em uma lista de strings podem ser filtrados sem usar nenhum método. A lista da string é filtrada aqui usando outra lista. Aqui, duas variáveis de lista são declaradas com o nome lista1 e lista2. Os valores de lista2 é filtrado usando os valores de lista1. O script irá corresponder à primeira palavra de cada valor de lista2 com os valores de lista1 e imprimir os valores que não existem em lista1.
# Declara duas variáveis de listalist1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript é uma linguagem de script do lado do cliente',
'PHP é uma linguagem de script do lado do servidor',
'Java é uma linguagem de programação',
'Bash é uma linguagem de script']
# Filtre a segunda lista com base na primeira lista
filter_data = [x para x na lista2 se
todos (y não em x para y na lista1)]
# Imprime os dados da lista antes do filtro e depois do filtro
imprimir ("O conteúdo da primeira lista:", lista1)
imprimir ("O conteúdo da segunda lista:", lista2)
print ("O conteúdo da segunda lista após o filtro:", filter_data)
Resultado:
Execute o script. Aqui, lista1 não contém a palavra 'Bash'. A saída conterá apenas um valor de lista2 isso é 'Bash é uma linguagem de script '.
Filtre uma lista de string usando outra lista e função personalizada
Este exemplo mostra como uma lista de string pode ser filtrada usando outra lista e a função de filtro personalizado. O script contém duas variáveis de lista chamadas list1 e list2. A função de filtro personalizado irá descobrir os valores comuns de ambas as variáveis da lista.
# Declara duas variáveis de listalista1 = ['90', '67', '34', '55', '12', '87', '32']
lista2 = ['9', '90', '38', '45', '12', '20']
# Declare uma função para filtrar dados da primeira lista
def Filtro (lista1, lista2):
retornar [n para n na lista1 se
qualquer (m em n para m na lista2)]
# Imprime os dados da lista antes do filtro e depois do filtro
imprimir ("O conteúdo da lista1:", lista1)
imprimir ("O conteúdo da lista2:", lista2)
print ("Os dados após o filtro", Filtro (lista1, lista2))
Resultado:
Execute o script. 90 e 12 valores existem em ambas as variáveis de lista. A seguinte saída será gerada após a execução do script.
Filtre uma lista de strings usando uma expressão regular
A lista é filtrada usando tudo() e algum() métodos nos dois exemplos anteriores. Uma expressão regular é usada neste exemplo para filtrar os dados de uma lista. Uma expressão regular é um padrão pelo qual qualquer dado pode ser pesquisado ou correspondido. 'ré' módulo é usado em python para aplicar expressão regular no script. Aqui, uma lista é declarada com códigos de assunto. Uma expressão regular é usada para filtrar os códigos de assunto que começam com a palavra, 'CSE'. '^'é usado em padrões de expressão regular para pesquisar no início do texto.
# Importe o módulo re para usar a expressão regularimportar re
# Declare que a lista contém o código do assunto
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Declare a função de filtro
def Filter (datalist):
# Pesquisar dados com base em expressão regular na lista
return [val para val em datalist
se re.pesquisa (r '^ CSE', val)]
# Imprima os dados do filtro
imprimir (filtro (sublista))
Resultado:
Execute o script. sublista variável contém dois valores que começam com 'CSE'. A seguinte saída aparecerá após a execução do script.
Filtre uma lista de strings usando a expressão lamda
Este exemplo mostra o uso de lamda expressão para filtrar dados de uma lista de strings. Aqui, uma variável de lista chamada search_word é usado para filtrar o conteúdo de uma variável de texto chamada texto. O conteúdo do texto é convertido em uma lista chamada, text_word com base no espaço usando dividir() método. lamda expressão irá omitir esses valores do text_word que existe em search_word e armazene os valores filtrados em uma variável adicionando espaço.
# Declare uma lista que contém a palavra de pesquisasearch_word = ["Ensinar", "Código", "Programação", "Blog"]
# Defina o texto onde a palavra da lista irá pesquisar
text = "Aprenda programação Python no blog de dicas do Linux"
# Divida o texto com base no espaço e armazene as palavras em uma lista
text_word = text.dividir()
# Usando a expressão lambda, filtre os dados
filter_text = ".join ((filtro (lambda val: val not i
n search_word, text_word)))
# Imprima o texto antes de filtrar e depois de filtrar
imprimir ("\ nTexto antes de filtrar: \ n", texto)
print ("Texto após filtragem: \ n", filter_text)
Resultado:
Execute o script. A seguinte saída aparecerá após a execução do script.
Filtre uma lista de strings usando o método filter ()
filtro() método aceita dois parâmetros. O primeiro parâmetro leva um nome de função ou Nenhum e o segundo parâmetro leva o nome da variável da lista como valores. filtro() método armazena esses dados da lista se retornar verdadeiro, caso contrário, ele descarta os dados. Aqui, Nenhum é dado como o primeiro valor de parâmetro. Todos os valores sem falso será recuperado da lista como dados filtrados.
# Declare uma lista de dados de mixagemlistData = ['Hello', 200, 1, 'World', False, True, '0']
# Chame o método filter () com Nenhum e uma lista
filterData = filter (None, listData)
# Imprime a lista após filtrar os dados
print ('A lista após a filtragem:')
para val em filterData:
imprimir (val)
Resultado:
Execute o script. A lista contém apenas um valor falso que será omitido nos dados filtrados. A seguinte saída aparecerá após a execução do script.
Conclusão:
A filtragem é útil quando você precisa pesquisar e recuperar valores específicos de uma lista. Espero que os exemplos acima ajudem os leitores a entender as maneiras de filtrar dados de uma lista de strings.