Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] Sección 4 - Estructuras de Datos con Python

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)
1 respuesta

Genial, ver tu código. Te comparto mim código del ejercicio que más dude para realizar.

def contar_sucursales_por_estado(estados):
    """
    Recibe una lista de códigos de estado y devuelve un diccionario
    con el conteo de sucursales por cada estado.
    """
    return {estado: estados.count(estado) for estado in set(estados)}

# Lista 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']

# Llamar a la función y mostrar resultados
conteo = contar_sucursales_por_estado(estados)

print("Cantidad de sucursales por estado:")
for estado, cantidad in conteo.items():
    print(f"{estado}: {cantidad}")