'''Crea un código para imprimir la suma de los elementos de cada una de las listas contenidas en la siguiente lista:'''
lista_de_listas = [[4, 6, 5, 9], [1, 0, 7, 2], [3, 4, 1, 8]]
def sumatoria(lista):
return sum(lista)
suma_por_lista = [sumatoria(lista) for lista in lista_de_listas]
print(suma_por_lista) # Salida: [24, 10, 16]
'''Crea un código para imprimir el tercer elemento de cada una de las tuplas contenidas en la siguiente lista:'''
lista_de_tuplas = [('Pedro', 1.74, 81), ('Júlia', 1.65, 67), ('Otávio', 1.81, 83)]
tercer=[x[2] for x in lista_de_tuplas]
print(tercer) # Salida: [81, 67, 83]
'''A partir de la lista: lista = ['Pedro', 'Júlia', 'Otávio', 'Eduardo'], crea un código para generar una lista de tuplas en la que cada tupla tenga el primer elemento como la posición del nombre en la lista original y el segundo elemento siendo el propio nombre.'''
lista1 = ['Pedro', 'Júlia', 'Otávio', 'Eduardo']
tup1=[(i+1, nombre) for i, nombre in enumerate(lista1)]
print(tup1) # Salida: [(1, 'Pedro'), (2, 'Júlia'), (3, 'Otávio'), (4, 'Eduardo')]
'''Crea una lista usando la comprensión de listas (list comprehension) que almacene solo el valor numérico de cada tupla en caso de que el primer elemento sea 'Apartamento', a partir de la siguiente lista de tuplas:'''
alquiler = [('Apartamento', 1700), ('Apartamento', 1400), ('Casa', 2150), ('Apartamento', 1900), ('Casa', 1100)]
num_apartment=[x[1] for x in alquiler if x[0]=='Apartamento']
print(num_apartment) # Salida: [1700, 1400, 1900]
'''Crea un diccionario usando la comprensión de diccionarios (dict comprehension) en el que las claves estén en la lista meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'] y los valores estén en gasto = [860, 490, 1010, 780, 900, 630, 590, 770, 620, 560, 840, 360]'''
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]
dict_meses={m:g for m,g in zip(meses,gasto)}
print(dict_meses) # Salida: {'Jan': 860, 'Fev': 490, 'Mar': 1010, 'Abr': 780, 'Mai': 900, 'Jun': 630, 'Jul': 590, 'Ago': 770, 'Set': 620, 'Out': 560, 'Nov': 840, 'Dez': 360}
'''Una tienda tiene una base de datos con la información de venta de cada representante y de cada año y necesita filtrar solo los datos del año 2022 con ventas mayores a 6000. La tienda proporcionó una muestra con solo las columnas de los años y los valores de venta para que puedas ayudar a realizar la filtración de los datos a través de un código'''
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)]
vent_filt=[x[1] for x in ventas if x[0]=='2022' and x[1]>6000]
print(vent_filt) # Salida: [8883, 7688, 9544, 8190, 5616]
'''7 - Una clínica analiza datos de pacientes y almacena el valor numérico de la glucosa en una base de datos y le gustaría etiquetar los datos de la siguiente manera:
Glucosa igual o inferior a 70: 'Hipoglicemia'
Glucosa entre 70 y 99: 'Normal'
Glucosa entre 100 y 125: 'Alterada'
Glucosa superior a 125: 'Diabetes'
La clínica proporcionó parte de los valores y tu tarea es crear una lista de tuplas usando la comprensión de listas que contenga la etiqueta y el valor de la glucemia en cada tupla.'''
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]
def glucosa(valor):
if valor<=70:
return 'Hipoglicemia'
elif 70<valor<=99:
return 'Normal'
elif 100<=valor<=125:
return 'Alterada'
else:
return 'Diabetes'
tup2=[(glucosa(x),x)for x in glicemia]
print(tup2) # Salida: [('Diabetes', 129), ('Normal', 82), ('Hipoglicemia', 60), ('Normal', 97), ('Alterada', 101), ('Hipoglicemia', 65), ('Hipoglicemia', 62), ('Diabetes', 167), ('Normal', 87), ('Hipoglicemia', 53), ('Hipoglicemia', 58), ('Normal', 92), ('Hipoglicemia', 66), ('Alterada', 120), ('Alterada', 109), ('Hipoglicemia', 62), ('Normal', 86), ('Normal', 96), ('Alterada', 103), ('Normal', 88), ('Diabetes', 155), ('Hipoglicemia', 52), ('Normal', 89), ('Normal', 73)]