Cómo filtrar una lista de cuerdas en Python

Cómo filtrar una lista de cuerdas en Python
Python utiliza el tipo de datos de lista para almacenar múltiples datos en un índice secuencial. Funciona como una variedad numérica de otros lenguajes de programación. El método Filter () es un método muy útil de Python. Uno o más valores de datos se pueden filtrar desde cualquier cadena o lista o diccionario en Python utilizando el método Filter (). Filtra datos basados ​​en cualquier condición en particular. Almacena datos cuando la condición devuelve verdaderas y descarte datos cuando devuelve falso. En este artículo se muestran cómo se pueden filtrar los datos de cadena en una lista en Python utilizando diferentes ejemplos. Tienes que usar Python 3+ para probar los ejemplos de este artículo.

Filtrar una lista de cadenas usando otra lista

Este ejemplo muestra cómo los datos en una lista de cadenas se pueden filtrar sin usar ningún método. La lista de la cadena se filtra aquí usando otra lista. Aquí, dos variables de lista se declaran con el nombre Lista1 y Lista2. Los valores de Lista2 se filtra utilizando los valores de Lista1. El script coincidirá con la primera palabra de cada valor de Lista2 con los valores de Lista1 e imprima esos valores que no existen en Lista1.

# Declarar dos variables de lista
list1 = ['perl', 'php', 'java', 'asp']
list2 = ['JavaScript es el lenguaje de secuencias de comandos del lado del cliente',
'PHP es un lenguaje de secuencias de comandos del lado del servidor',
'Java es un lenguaje de programación',
'Bash es un lenguaje de secuencias de comandos']
# Filtrar la segunda lista basada en la primera lista
filter_data = [x para x en list2 if
todos (no en x para y en list1)]
# Imprimir datos de la lista antes del filtro y después del filtro
Imprimir ("El contenido de la primera lista:", List1)
Imprimir ("El contenido de la segunda lista:", List2)
Imprimir ("El contenido de la segunda lista después del filtro:", Filter_data)

Producción:

Ejecutar el guión. Aquí, Lista1 no contiene la palabra 'Intento'. La salida contendrá solo un valor de Lista2 eso es 'Bash es un lenguaje de secuencias de comandos '.

Filtrar una lista de cadenas utilizando otra lista y función personalizada

Este ejemplo muestra cómo se puede filtrar una lista de cadenas utilizando otra lista y la función de filtro personalizado. El script contiene dos variables de lista nombradas list1 y list2. La función de filtro personalizado descubrirá los valores comunes de ambas variables de lista.

# Declarar dos variables de lista
list1 = ['90', '67', '34', '55', '12', '87', '32']]
list2 = ['9', '90', '38', '45', '12', '20']
# Declarar una función para filtrar datos de la primera lista
Filtro Def (list1, list2):
devolver [n para n en la lista1 si
Cualquiera (m en n para m en list2)]
# Imprima los datos de la lista antes del filtro y después del filtro
Imprimir ("El contenido de List1:", List1)
Imprimir ("El contenido de List2:", List2)
imprimir ("los datos después del filtro", filtrar (list1, list2))

Producción:

Ejecutar el guión. Existen 90 y 12 valores en ambas variables de lista. La siguiente salida se generará después de ejecutar el script.

Filtrar una lista de cadenas usando expresión regular

La lista se filtra utilizando todo() y cualquier() métodos en los dos ejemplos anteriores. En este ejemplo se usa una expresión regular para filtrar los datos de una lista. Una expresión regular es un patrón por el cual se pueden buscar o combinar cualquier dato. 're' El módulo se usa en Python para aplicar la expresión regular en el script. Aquí, se declara una lista con los códigos de sujeto. Se usa una expresión regular para filtrar esos códigos de sujetos que comienzan con la palabra ',CSE'. '^'El símbolo se usa en patrones de expresión regulares para buscar al inicio del texto.

# Importar módulo para usar expresión regular
importar
# Declarar la lista contiene el código de sujeto
sublist = ['CSE-407', 'Phy-101', 'CSE-101', 'Eng-102', 'MAT-202']
# Declarar la función de filtro
Filtro Def (DataList):
# Datos de búsqueda basados ​​en la expresión regular en la lista
devolver [val para val en datalista
Si.búsqueda (r '^cse', val)]
# Imprima los datos del filtro
Imprimir (Filtro (Sublista))

Producción:

Ejecutar el guión. sublista La variable contiene dos valores que comienzan con 'CSE'. La siguiente salida aparecerá después de ejecutar el script.

Filtrar una lista de cadenas usando la expresión de Lamda

Este ejemplo muestra el uso de lamda expresión para filtrar datos de una lista de cadenas. Aquí, una variable de lista nombrada buscar palabra se usa para filtrar el contenido de una variable de texto nombrada texto. El contenido del texto se convierte en una lista llamada, text_word Basado en el espacio usando dividir() método. lamda La expresión omitirá esos valores del text_word que existen en buscar palabra y almacene los valores filtrados en una variable agregando espacio.

# Declara una lista que contiene la palabra de búsqueda
Search_word = ["Teach", "Código", "Programación", "Blog"]
# Defina el texto donde buscará la palabra de la lista
Text = "Aprende la programación de Python del blog de sugerencias de Linux"
# Divide el texto basado en el espacio y almacene las palabras en una lista
text_word = texto.dividir()
# Usando el filtro de expresión lambda los datos
filter_text = ".unir ((filtro (lambda val: val no en search_word, text_word)))
# Imprimir texto antes de filtrar y después de filtrar
imprimir ("\ ntext antes de filtrar: \ n", texto)
imprimir ("Texto después del filtrado: \ n", filtre_text)

Producción:

Ejecutar el guión. La siguiente salida aparecerá después de ejecutar el script.

Filtrar una lista de cadena usando el método filtre ()

filtrar() El método acepta dos parámetros. El primer parámetro toma un nombre de función o Ninguno y el segundo parámetro toma el nombre de la variable de lista como valores. filtrar() El método almacena esos datos de la lista si devuelve verdadero, de lo contrario, descarta los datos. Aquí, Ninguno se da como el primer valor de parámetro. Todos los valores sin FALSO se recuperará de la lista como datos filtrados.

# Declarar una lista de datos de mezcla
listData = ['Hola', 200, 1, 'Mundo', falso, verdadero, '0']
# Método de filtro de llamada () sin ninguna lista
FilteredData = Filter (Ninguno, ListData)
# Imprima la lista después de filtrar los datos
imprimir ('la lista después del filtrado:')
Para val en FilteredData:
Imprimir (Val)

Producción:

Ejecutar el guión. La lista contiene solo un valor falso que se omitirá en los datos filtrados. La siguiente salida aparecerá después de ejecutar el script.

Conclusión:

El filtrado es útil cuando necesita buscar y recuperar valores particulares de una lista. Yo, espero que los ejemplos anteriores ayuden a los lectores a comprender las formas de filtrar datos de una lista de cadenas.