Segue a solução para cada exercício em Python:
1. Soma dos elementos de cada lista
lista_de_listas = [[4, 6, 5, 9], [1, 0, 7, 2], [3, 4, 1, 8]]
for lista in lista_de_listas:
print(sum(lista))
2. Lista com o terceiro elemento de cada tupla
lista_de_tuplas = [
('Pedro', 1.74, 81),
('Júlia', 1.65, 67),
('Otávio', 1.81, 83)
]
pesos = [tupla[2] for tupla in lista_de_tuplas]
print(pesos)
3. Lista de tuplas com posição e nome
lista = ['Pedro', 'Júlia', 'Otávio', 'Eduardo']
resultado = [(indice, nome) for indice, nome in enumerate(lista)]
print(resultado)
4. Valores dos apartamentos
aluguel = [
('Apartamento', 1700),
('Apartamento', 1400),
('Casa', 2150),
('Apartamento', 1900),
('Casa', 1100)
]
apartamentos = [valor for tipo, valor in aluguel if tipo == 'Apartamento']
print(apartamentos)
5. Dicionário de meses e despesas
meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun',
'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez']
despesa = [860, 490, 1010, 780, 900, 630,
590, 770, 620, 560, 840, 360]
gastos = {mes: valor for mes, valor in zip(meses, despesa)}
print(gastos)
6. Filtrar vendas de 2022 maiores que 6000
vendas = [
('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)
]
filtro = [valor for ano, valor in vendas if ano == '2022' and valor > 6000]
print(filtro)
7. Classificação da glicemia
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]
resultado = [
(
'Hipoglicemia' if valor <= 70 else
'Normal' if valor <= 99 else
'Alterada' if valor <= 125 else
'Diabetes',
valor
)
for valor in glicemia
]
print(resultado)
8. Tabela de vendas
id = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
quantidade = [15, 12, 1, 15, 2, 11, 2, 12, 2, 4]
preco = [93.0, 102.0, 18.0, 41.0, 122.0, 14.0, 71.0, 48.0, 14.0, 144.0]
tabela = [('id', 'quantidade', 'preco', 'total')]
tabela += [
(i, q, p, q * p)
for i, q, p in zip(id, quantidade, preco)
]
for linha in tabela:
print(linha)
9. Quantidade de filiais por estado
estados = [
'SP', 'ES', 'MG', 'MG', 'SP', 'MG', 'ES', 'ES',
'ES', 'SP', 'SP', 'MG', 'ES', 'SP', 'RJ', 'MG',
'RJ', 'SP', 'MG', 'SP', 'ES', 'SP', 'MG'
]
contagem = {
estado: estados.count(estado)
for estado in set(estados)
}
print(contagem)
Saída:
{'SP': 8, 'ES': 6, 'MG': 7, 'RJ': 2}
10. Agrupamento e soma de colaboradores por estado
funcionarios = [
('SP', 16), ('ES', 8), ('MG', 9), ('MG', 6),
('SP', 10), ('MG', 4), ('ES', 9), ('ES', 7),
('ES', 12), ('SP', 7), ('SP', 11), ('MG', 8),
('ES', 8), ('SP', 9), ('RJ', 13), ('MG', 5),
('RJ', 9), ('SP', 12), ('MG', 10), ('SP', 7),
('ES', 14), ('SP', 10), ('MG', 12)
]
# Agrupamento
agrupados = {
estado: [qtd for uf, qtd in funcionarios if uf == estado]
for estado in set(uf for uf, _ in funcionarios)
}
print(agrupados)
# Soma por estado
soma_funcionarios = {
estado: sum(valores)
for estado, valores in agrupados.items()
}
print(soma_funcionarios)
Saída:
{
'SP': [16, 10, 7, 11, 9, 12, 7, 10],
'ES': [8, 9, 7, 12, 8, 14],
'MG': [9, 6, 4, 8, 5, 10, 12],
'RJ': [13, 9]
}
{
'SP': 82,
'ES': 58,
'MG': 54,
'RJ': 22
}