Sección 4 - Estructuras de datos con Python
# 1. Suma de elementos de 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("1. Suma por lista:", suma_por_lista)
# 2. Tercer elemento de cada tupla
lista_de_tuplas = [('Pedro', 1.74, 81), ('Júlia', 1.65, 67), ('Otávio', 1.81, 83)]
terceros_elementos = [t[2] for t in lista_de_tuplas]
print("2. Tercer elemento:", terceros_elementos)
# 3. Lista de tuplas con posición y nombre
lista = ['Pedro', 'Júlia', 'Otávio', 'Eduardo']
lista_tuplas = [(i, nombre) for i, nombre in enumerate(lista)]
print("3. Lista con posición:", lista_tuplas)
# 4. Solo valores de 'Apartamento'
alquiler = [('Apartamento', 1700), ('Apartamento', 1400), ('Casa', 2150), ('Apartamento', 1900), ('Casa', 1100)]
solo_apartamentos = [valor for tipo, valor in alquiler if tipo == 'Apartamento']
print("4. Solo apartamentos:", solo_apartamentos)
# 5. Diccionario con meses y gastos
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_mes = {mes: valor for mes, valor in zip(meses, gasto)}
print("5. Gastos por mes:", gastos_mes)
# 6. 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("6. Ventas 2022 > 6000:", ventas_filtradas)
# 7. Clasificación 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]
clasificacion = [
('Hipoglicemia' if g <= 70 else
'Normal' if g <= 99 else
'Alterada' if g <= 125 else
'Diabetes', g)
for g in glicemia
]
print("7. Clasificación de glicemia:", clasificacion)
# 8. Tabla con id, cantidad, precio, total
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("8. Tabla de ventas:")
for fila in tabla:
print(fila)
# 9. Conteo de estados
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_estados = {estado: estados.count(estado) for estado in set(estados)}
print("9. Conteo de sucursales por estado:", conteo_estados)
# 10. Listado y suma de 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_lista = {}
for estado, valor in empleados:
empleados_lista.setdefault(estado, []).append(valor)
empleados_suma = {estado: sum(valores) for estado, valores in empleados_lista.items()}
print("10. Empleados por estado (listas):", empleados_lista)
print("10. Empleados por estado (suma):", empleados_suma)