En esta serie de ejercicios practiqué estructuras fundamentales como listas, tuplas y diccionarios, aplicando comprensión de listas y comprensión de diccionarios para filtrar, transformar y organizar datos. Me ayudó a consolidar lógica condicional, iteraciones y emparejamientos con zip(), además de entender cómo estructurar información para análisis más avanzados. Fue una excelente forma de integrar todo lo aprendido hasta ahora.
Suma de elementos en cada sublista
lista_de_listas = [[4, 6, 5, 9], [1, 0, 7, 2], [3, 4, 1, 8]]
suma_por_lista = [sum(sublista) for sublista in lista_de_listas]
print(suma_por_lista)
Tercer elemento de cada tupla
lista_de_tuplas = [('Pedro', 1.74, 81), ('Júlia', 1.65, 67), ('Otávio', 1.81, 83)]
terceros = [tupla[2] for tupla in lista_de_tuplas]
print(terceros)
Lista de tuplas con índice y nombre
lista = ['Pedro', 'Júlia', 'Otávio', 'Eduardo']
tuplas_con_indices = [(i, nombre) for i, nombre in enumerate(lista)]
print(tuplas_con_indices)
Filtrar valores de 'Apartamento'
alquiler = [('Apartamento', 1700), ('Apartamento', 1400), ('Casa', 2150), ('Apartamento', 1900), ('Casa', 1100)]
valores_apartamento = [valor for tipo, valor in alquiler if tipo == 'Apartamento']
print(valores_apartamento)
Diccionario de gastos por mes
meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']
gasto = [860, 490, 1010, 780, 900, 630, 590, 770, 620, 560, 840, 360]
gastos_por_mes = {mes: valor for mes, valor in zip(meses, gasto)}
print(gastos_por_mes)
Filtrar ventas de 2022 mayores a 6000
ventas = [('2023', 4093), ('2021', 4320), ('2021', 5959), ('2022', 8883), ('2023', 9859), ('2022', 5141),
('2022', 7688), ('2022', 9544), ('2023', 4794), ('2021', 7178), ('2022', 3030), ('2021', 7471),
('2022', 4226), ('2022', 8190), ('2021', 9680), ('2022', 5616)]
ventas_filtradas = [valor for año, valor in ventas if año == '2022' and valor > 6000]
print(ventas_filtradas)
Etiquetar valores de glucosa
glicemia = [129, 82, 60, 97, 101, 65, 62, 167, 87, 53, 58, 92, 66, 120, 109, 62, 86, 96, 103, 88, 155, 52, 89, 73]
etiquetado = [
('Hipoglicemia' if g <= 70 else
'Normal' if g <= 99 else
'Alterada' if g <= 125 else
'Diabetes', g)
for g in glicemia
]
print(etiquetado)
Tabla con total de ventas
id = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
cantidad = [15, 12, 1, 15, 2, 11, 2, 12, 2, 4]
precio = [93.0, 102.0, 18.0, 41.0, 122.0, 14.0, 71.0, 48.0, 14.0, 144.0]
tabla = [('id', 'cantidad', 'precio', 'total')] + [(i, c, p, c * p) for i, c, p in zip(id, cantidad, precio)]
print(tabla)
Diccionario con cantidad de sucursales por estado
estados = ['CMX', 'OAX', 'PUE', 'PUE', 'CMX', 'PUE', 'OAX', 'OAX', 'OAX', 'CMX', 'CMX', 'PUE', 'OAX', 'CMX',
'VER', 'PUE', 'VER', 'CMX', 'PUE', 'CMX', 'OAX', 'CMX', 'PUE']
conteo_sucursales = {estado: estados.count(estado) for estado in set(estados)}
print(conteo_sucursales)
Diccionario con empleados por estado
empleados = [('CMX', 16), ('OAX', 8), ('PUE', 9), ('PUE', 6), ('CMX', 10), ('PUE', 4), ('OAX', 9), ('OAX', 7),
('OAX', 12), ('CMX', 7), ('CMX', 11), ('PUE', 8), ('OAX', 8), ('CMX', 9), ('VER', 13), ('PUE', 5),
('VER', 9), ('CMX', 12), ('PUE', 10), ('CMX', 7), ('OAX', 14), ('CMX', 10), ('PUE', 12)]
empleados_por_estado = {estado: [valor for e, valor in empleados if e == estado] for estado in set(e for e, _ in empleados)}
suma_empleados = {estado: sum(valores) for estado, valores in empleados_por_estado.items()}
print("Listas por estado:", empleados_por_estado)
print("Suma por estado:", suma_empleados)