1
resposta

Desafio: hora da prática

1

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_de_tuplas = [
('Pedro', 1.74, 81),
('Júlia', 1.65, 67),
('Otávio', 1.81, 83)
]

lista = []

for tupla in lista_de_tuplas:
lista.append(tupla[2])

print(lista)

3

lista = ['Pedro', 'Júlia', 'Otávio', 'Eduardo']

lista_de_tuplas = []

for i in range(len(lista)):
lista_de_tuplas.append((i, lista[i]))

print(lista_de_tuplas)

4

aluguel = [
('Apartamento', 1700),
('Apartamento', 1400),
('Casa', 2150),
('Apartamento', 1900),
('Casa', 1100)
]

lista = [tupla[1] for tupla in aluguel if tupla[0] == 'Apartamento']

print(lista)

5

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]

dicionario = {meses[i]: despesa[i] for i in range(len(meses))}

print(dicionario)

6

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 = [
tupla[1]
for tupla in vendas
if tupla[0] == '2022' and tupla[1] > 6000
]

print(filtro)

7

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]

rotulos = [
('Hipoglicemia', glicose) if glicose <= 70
else ('Normal', glicose) if glicose < 100
else ('Alterada', glicose) if glicose < 125
else ('Diabetes', glicose)

for glicose in glicemia

]

print(rotulos)

8

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 += [
(
id[i],
quantidade[i],
preco[i],
quantidade[i] * preco[i]
)

for i in range(len(id))

]

print(tabela)

9

estados = [
'SP', 'ES', 'MG', 'MG', 'SP', 'MG', 'ES',
'ES', 'ES', 'SP', 'SP', 'MG', 'ES', 'SP',
'RJ', 'MG', 'RJ', 'SP', 'MG', 'SP', 'ES',
'SP', 'MG'
]

estados_unicos = list(set(estados))

contagem_valores = {
estado: estados.count(estado)
for estado in estados_unicos
}

print(contagem_valores)

10

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)
]

estados_unicos = list(set([tupla[0] for tupla in funcionarios]))

agrupamento_por_estado = {
estado: [tupla[1] for tupla in funcionarios if tupla[0] == estado]
for estado in estados_unicos
}

print(agrupamento_por_estado)

soma_por_estado = {
estado: sum(agrupamento_por_estado[estado])
for estado in estados_unicos
}

print(soma_por_estado)

1 resposta

Oi, Fernanda! Como vai?

Agradeço por compartilhar suas soluções com a comunidade Alura.

Analisando seu código, ficou claro que você compreendeu bem o uso de estruturas do Python. Nos exercícios com lista e lista_de_tuplas, você demonstrou segurança ao acessar elementos pelo índice e ao iterar com for. Nos desafios de filtro de vendas dos anos 2021, 2022 e 2023, você aplicou condições compostas dentro da list comprehension de forma correta e limpa. A classificação de glicose com múltiplos rótulos condicionais também ficou coerente, assim como o uso de estados_unicos com set para eliminar duplicatas antes de construir o dicionário de contagem.

Nos exercícios com apartamento, quantidade e preco, você usou a list comprehension com clareza, e a construção da tabela com os totais calculados mostrou que você entendeu como combinar múltiplas listas de forma eficiente. O uso de meses com range e len para criar o dicionário de despesas também foi uma solução bem pensada.

Uma dica para os próximos exercícios é explorar a função enumerate(), que substitui o padrão range(len(lista)) de maneira mais legível. Veja este exemplo:

nomes = ['Pedro', 'Julia', 'Otavio']

for indice, nome in enumerate(nomes):
    print(indice, nome)

Esse recurso percorre a lista exibindo o índice e o valor ao mesmo tempo, tornando o código mais limpo e fácil de entender.

Continue assim, pois sua evolução está muito evidente.

Conte sempre com o apoio da comunidade Alura nessa jornada de aprendizado.

Para você, qual exercício desse desafio foi o mais interessante ou desafiador de resolver?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!