Filtrado de listas con Filter en Python
Clase 23 de 44 • Curso de Python: Comprehensions, Funciones y Manejo de Errores
Contenido del curso
- 6

List Comprehension en Python: Sintaxis y Ejemplos Prácticos
08:44 - 7

Comprensión de Diccionarios en Python: Ejemplos y Aplicaciones
11:57 - 8

Dictionary Comprehension con Condicionales en Python
07:34 - 9
Playgrounds: Crea una lista usando List Comprehension
00:00 - 10

Comparación de Listas, Tuplas y Conjuntos en Python
02:44
- 11

Funciones en Programación: Creación y Uso en Python
09:47 - 12

Funciones en Python: Retorno de Valores y Reutilización de Código
10:03 - 13

Funciones en Python: Retorno múltiple y valores por defecto
06:30 - 14

Entendiendo el Scope en Python: Variables y Funciones
07:54 - 15

Refactorización de Juegos en Python: Uso de Funciones
15:10 - 16
Playgrounds: Tienda de Tecnología
00:00 - 17

Funciones Lambda en Python: Sintaxis y Aplicaciones Prácticas
06:39 - 18

Funciones de Orden Superior en Python: Concepto y Ejemplos Prácticos
08:48 - 19

Uso de la función map en Python para transformar listas
08:43 - 20

Transformaciones con Map en Diccionarios Complexos
09:56 - 21

Manejo de referencias en memoria con diccionarios y map en Python
04:13 - 22
Playgrounds: Multiplica todos los elementos por dos
00:00 - 23

Filtrado de listas con Filter en Python
09:19 - 24
Playgrounds: Retorna solo palabras de 4 letras y más
00:00 - 25

Uso de Reduce en Python para Manipular Listas
07:46
- 31

Control manual de iteradores en Python con next
06:33 - 32

Errores y Excepciones en Python: Identificación y Manejo Básico
08:28 - 33

Manejo de Errores en Python: Uso de Try y Except
08:18 - 34
Playgrounds: Captura la excepción: ZeroDivisionError
00:00 - 35

Lectura y manejo de archivos de texto en Python
06:52 - 36

Lectura y escritura de archivos de texto en Python
06:11 - 37

Procesamiento de Archivos CSV en Python para Análisis de Datos
15:49 - 38
Playgrounds: Lee un CSV para calcular el total de gastos
00:00
¿Cómo funciona el método Filter en Python?
El método Filter es una herramienta poderosa en Python que permite seleccionar ciertos elementos de una lista para crear una nueva lista basada en una condición específica. A diferencia de Map, que transforma cada elemento de la lista original, Filter solo selecciona los elementos que cumplen con el criterio dado. Este método resulta muy útil cuando queremos, por ejemplo, extraer solo los elementos vegetarianos de una lista de comida o seleccionar los números pares de un conjunto de datos numéricos.
Para utilizar Filter, puedes seguir estos pasos básicos:
- Define una función de condición (usualmente con una lambda function).
- Aplica el método
Filterproporcionando esta función y la lista que deseas filtrar. - Convierte el resultado en una lista.
¿Cómo aplicar Filter en listas de números?
Vamos a explorar cómo usar Filter con listas de números a través de un ejemplo práctico. Imagínate que quieres crear una lista de números pares a partir de una lista dada.
# Crear una lista de números
numbers = [1, 2, 3, 4, 5, 6]
# Aplicar filtro para obtener números pares
newNumbers = list(filter(lambda x: x % 2 == 0, numbers))
# Imprimir la nueva lista de números
print(newNumbers) # Output: [2, 4, 6]
Con este código, se filtran los números que son divisibles por 2 (números pares), y estos serán los únicos elementos que aparecerán en la nueva lista newNumbers.
¿Cómo funciona Filter con diccionarios?
El método Filter también se puede emplear con listas que contienen diccionarios. Este es un escenario común cuando trabajamos con datos estructurados, como resultados de partidos de fútbol. Aquí te muestro cómo podrías usarlo:
Supongamos que tienes una lista de diccionarios que representan partidos de fútbol, y deseas filtrar solo aquellos partidos en los que el equipo local ganó.
# Lista de partidos
matches = [
{"home_team": "Bolivia", "away_team": "Uruguay", "home_team_result": "win"},
{"home_team": "Argentina", "away_team": "Chile", "home_team_result": "draw"},
{"home_team": "Peru", "away_team": "Ecuador", "home_team_result": "win"}
]
# Aplicar filtro para obtener solo los partidos ganados por el equipo local
winningMatches = list(filter(lambda match: match['home_team_result'] == 'win', matches))
# Imprimir los partidos ganados por el equipo local
print(winningMatches)
En este ejemplo, el Filter selecciona solo los partidos donde el valor del resultado del equipo local es "win". De esta manera, la lista winningMatches contiene solo los partidos que cumplen con esta condición.
¿Qué considerar al usar Filter?
Al trabajar con Filter, es importante tener en cuenta que:
Filterno modifica la lista original; crea una nueva lista con los elementos que cumplieron la condición.- Siempre retorna un objeto iterador, por lo que debes convertirlo a una lista si deseas usar los métodos de lista.
- No garantiza que la nueva lista tenga el mismo número de elementos que la original; podría tener menos o incluso ninguno, si ningún elemento cumple con la condición.
El método Filter ofrece una forma eficiente y flexible de reducir listas a subconjuntos de interés particular, manteniendo el enfoque en los datos relevantes para tu análisis o aplicación. ¡Sigue explorando todas las posibilidades que te ofrece Python!