Transformaciones con Map en Diccionarios Complexos
Clase 20 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 transformar datos con map y diccionarios complejos?
Has escuchado hablar de map en Python, ¿verdad? Esta función es una herramienta eficiente que te permite transformar listas de forma elegante, incluso cuando estás trabajando con estructuras de datos más complejas como los diccionarios. A menudo, cuando manejamos diccionarios, surge la necesidad de transformar estos elementos en otro tipo de datos, como listas de números. Explorar cómo hacerlo con map puede abrirte un mundo de nuevas posibilidades.
¿Qué es map y cómo funciona en Python?
La función map es parte fundamental de Python cuando hablamos de funciones de orden superior. Con ella, puedes aplicar una función específica a cada ítem de una lista o iterable. El resultado es un objeto map, que es un iterable que puedes convertir fácilmente en una lista.
- Para usar
map, necesitas una lista de elementos y una función (lambda o definida) que quieres aplicar a cada elemento. - Puedes transformarlo para diferentes propósitos, como convertir tipos de datos.
Con un pequeño ejemplo, imagina que tienes una lista de diccionarios que representan productos en una orden de compra, y necesitas extraer solo los precios y obtener una lista nueva con ellos.
Lista de diccionarios ejemplo:
items = [
{"producto": "camisa", "precio": 100},
{"producto": "pantalones", "precio": 300},
{"producto": "pantalones 2", "precio": 200},
]
Para extraer los precios:
precios = list(map(lambda item: item["precio"], items))
print(precios) # Output: [100, 300, 200]
¿Cómo agrego un nuevo atributo usando map?
Supongamos que necesitas añadir un atributo de impuestos a cada producto. Aquí, el uso de map se combina con una función personalizada para calcular los impuestos y añadirlos al diccionario original.
Primero, define la función para calcular y añadir los impuestos:
def agregar_impuestos(item):
item["impuestos"] = item["precio"] * 0.19
return item
Luego, aplica esta función a cada diccionario usando map:
nuevos_items = list(map(agregar_impuestos, items))
¿Cómo evitamos modificar el estado original?
Es importante recordar que map no modifica el estado del iterable original, sino que crea uno nuevo. Sin embargo, al trabajar con diccionarios se puede cambiar el estado original si no se tiene cuidado. Este es un comportamiento que puede convertirse en un dolor de cabeza si no es lo que esperabas.
- Asegúrate de no modificar el diccionario original si necesitas mantenerlo intacto.
- Usa técnicas como la copia profunda para garantizar que los cambios se apliquen solo al nuevo iterable.
Ejemplo práctico: gestión de impuestos y diccionarios
A través del ejemplo anterior, hemos trabajado con un sencillo cálculo de impuestos y transformaciones de listas de diccionarios a listas de precios:
-
Creación de lista de diccionarios:
items = [ {"producto": "camisa", "precio": 100}, {"producto": "pantalones", "precio": 300}, {"producto": "pantalones 2", "precio": 200}, ] -
Extracción de precios usando Lambda:
precios = list(map(lambda item: item["precio"], items)) -
Agrega un nuevo atributo con función definida:
def agregar_impuestos(item): item["impuestos"] = item["precio"] * 0.19 return item nuevos_items = list(map(agregar_impuestos, items))
Es esencial recordar que la gestión precisa de transformaciones y el cuidado con el estado original de los datos son fundamentales cuando se practica programación con Python. Experimenta y descubre por ti mismo las diversas aplicaciones que map puede ofrecer en tus proyectos. ¡Adelante, el aprendizaje nunca se detiene!