Pitón

Cómo filtrar una lista de cadenas en Python

Cómo filtrar una lista de cadenas en Python
Python usa el tipo de datos de lista para almacenar varios datos en un índice secuencial. Funciona como una matriz numérica de otros lenguajes de programación. El método filter () es un método muy útil de Python. Se pueden filtrar uno o más valores de datos de cualquier cadena, lista o diccionario en Python usando el método filter ().  Filtra datos en función de cualquier condición en particular. Almacena datos cuando la condición devuelve verdadero y descarta datos cuando devuelve falso. En este artículo se muestra cómo se pueden filtrar los datos de cadena en una lista en Python mediante el uso de 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 se pueden filtrar los datos de una lista de cadenas sin utilizar ningún método. La lista de la cadena se filtra aquí usando otra lista. Aquí, se declaran dos variables de lista con el nombre list1 y list2. Los valores de list2 se filtra utilizando los valores de list1. El script coincidirá con la primera palabra de cada valor de list2 con los valores de list1 e imprime los valores que no existen en list1.

# Declare dos variables de lista
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript es un 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 según la primera lista
filter_data = [x para x en list2 si
todo (y no en x para y en list1)]
 
# Imprimir los datos de la lista antes del filtro y después del filtro
print ("El contenido de la primera lista:", lista1)
print ("El contenido de la segunda lista:", list2)
print ("El contenido de la segunda lista después del filtro:", filter_data)

Producción:

Ejecuta el script. Aquí, list1 no contiene la palabra 'Intento'. La salida contendrá solo un valor de list2 es decir 'Bash es un lenguaje de secuencias de comandos '.

Filtrar una lista de cadenas usando 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 llamadas list1 y list2. La función de filtro personalizado encontrará los valores comunes de ambas variables de lista.

# Declare dos variables de lista
lista1 = ['90', '67', '34', '55', '12', '87', '32']
lista2 = ['9', '90', '38', '45', '12', '20']
 
# Declare una función para filtrar datos de la primera lista
def Filtro (lista1, lista2):
devuelve [n para n en list1 si
cualquiera (m en n por m en list2)]
 
# Imprime los datos de la lista antes del filtro y después del filtro
print ("El contenido de list1:", list1)
print ("El contenido de list2:", list2)
print ("Los datos después del filtro", Filtro (lista1, lista2))

Producción:

Ejecuta el script. 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 una expresión regular

La lista se filtra usando todas() y alguna() métodos en los dos ejemplos anteriores. En este ejemplo, se utiliza una expresión regular para filtrar los datos de una lista. Una expresión regular es un patrón mediante el cual se puede buscar o comparar cualquier dato. 're' El módulo se usa en Python para aplicar expresiones regulares en el script. Aquí, se declara una lista con códigos de materia. Se utiliza una expresión regular para filtrar los códigos de materia que comienzan con la palabra 'CSE'. '^'símbolo se utiliza en patrones de expresión regular para buscar al comienzo del texto.

# Importar módulo re para usar expresión regular
importar re
 
# Declarar que la lista contiene código de asunto
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Declare la función de filtro
def Filter (lista de datos):
# Buscar datos basados ​​en expresiones regulares en la lista
return [val para val en datalist
si eres.búsqueda (r '^ CSE', val)]
# Imprime los datos del filtro
imprimir (Filtro (sublista))

Producción:

Ejecuta el script. 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 lamda

Este ejemplo muestra el uso de lamda expresión para filtrar datos de una lista de cadenas. Aquí, una variable de lista llamada buscar palabra se utiliza para filtrar el contenido de una variable de texto denominada texto. El contenido del texto se convierte en una lista denominada, palabra_texto basado en el espacio usando separar() método. lamda expresión omitirá esos valores de la palabra_texto que existen en buscar palabra y almacenar los valores filtrados en una variable agregando espacio.

# Declare una lista que contenga la palabra de búsqueda
search_word = ["Enseñar", "Código", "Programación", "Blog"]
# Defina el texto donde se buscará la palabra de la lista
text = "Aprenda a programar en Python del blog de sugerencias de Linux"
# Divida el texto según el espacio y almacene las palabras en una lista
text_word = texto.separar()
# Usando expresión lambda filtrar los datos
filter_text = ".unirse ((filtro (lambda val: val no i
n palabra_búsqueda, palabra_texto)))
# Imprimir texto antes de filtrar y después de filtrar
print ("\ nTexto antes de filtrar: \ n", texto)
print ("Texto después de filtrar: \ n", filter_text)

Producción:

Ejecuta el script. La siguiente salida aparecerá después de ejecutar el script.

Filtrar una lista de cadenas usando el método filter ()

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án de la lista como datos filtrados.

# Declare una lista de datos mixtos
listData = ['Hola', 200, 1, 'Mundo', Falso, Verdadero, '0']
 
# Llamar al método filter () con None y una lista
FilterData = filter (Ninguno, listData)
 
# Imprime la lista después de filtrar los datos
print ('La lista después de filtrar:')
para val en FilterData:
imprimir (val)

Producción:

Ejecuta el script. 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. Espero que los ejemplos anteriores ayuden a los lectores a comprender las formas de filtrar datos de una lista de cadenas.

Batalla por Wesnoth 1.13.6 Desarrollo liberado
Batalla por Wesnoth 1.13.6 lanzado el mes pasado, es el sexto lanzamiento de desarrollo en el 1.13.x y ofrece una serie de mejoras, sobre todo en la i...
Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...