1
resposta

Exercicio 9

Para o exercicio 9 a solução proposta foi:

# Armazenando os estados sem repetição de valor
estados_unicos = list(set(estados))

# Criando uma lista de listas com valores repetidos de cada estado
lista_de_listas = []
for estado in estados_unicos:
    lista = [uf for uf in estados if uf == estado]
    lista_de_listas.append(lista)
print(lista_de_listas)

# Criando um dicionário em que a chave é o nome de cada estado único e o valor é a contagem de elementos
contagem_valores = {estados_unicos[i]: len(lista_de_listas[i]) for i in range(len(estados_unicos))}
print(contagem_valores)

Meu código:

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

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

Me parece que ambos resultam no mesmo, existe algum motivo para a solução propos um código tão longo? Algo que perdi pelo caminho?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Ei, Estudante! Tudo bem?

A solução proposta no exercício é mais detalhada e pode parecer mais longa, mas ela tem um propósito educacional. É para demonstrar o passo a passo de como você pode construir a solução a partir de conceitos fundamentais, como conjuntos para eliminar duplicatas e listas para agrupar elementos semelhantes. Essa abordagem pode ajudar a entender melhor o processo de construção de um dicionário a partir de uma lista.

E seu código é mais conciso e outra forma de resolver o problema. Sendo uma solução eficiente e direta, mas pode não ser tão didática para quem está começando a aprender sobre estruturas de dados e manipulação de listas em Python.

Ambas as soluções são válidas, parabéns pelo empenho de treinar as atividades!

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Até mais e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!