Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Desafio de unir lista em um dicionario

Agoar que entendi que é uma lsita de dicionários do tipo:
{"nome": "Maria Silva", "média": 8.9},
{"nome": "João Santos", "média": 7.5}

lista_nomes = ["Maria Silve", "João Santos", "Ana Oliveira", "Pedro Costa", "Juliana Pereira"]
lista_medias = [8.9, 7.5, 4.2, 1.4, 9.5]

lista_de_dicts = []

for nome, media in zip(lista_nomes, lista_medias):
    dict_aluno = {"nome": nome, "média": media}
    lista_de_dicts.append(dict_aluno)

print(lista_de_dicts)

saída:[{'nome': 'Maria Silve', 'média': 8.9}, {'nome': 'João Santos', 'média': 7.5}, {'nome': 'Ana Oliveira', 'média': 4.2}, {'nome': 'Pedro Costa', 'média': 1.4}, {'nome': 'Juliana Pereira', 'média': 9.5}]

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, Marcelo. Como vai?

Agora sim! Você capturou com perfeição a proposta do exercício. No contexto de Ciência de Dados e Inteligência Artificial, essa estrutura de uma lista contendo múltiplos dicionários é um dos formatos mais importantes que existem.

O seu código ficou excelente. Ao iniciar a lista_de_dicts vazia, percorrer os dados pareados com o zip(), estruturar o dict_aluno a cada iteração e usar o método .append(), você construiu uma lógica impecável de modelagem de dados. O print que você compartilhou do Google Colab demonstra o sucesso da execução, mostrando como acessar os dados de forma indexada (lista_de_dicts[0]['nome']).

Para agregar ainda mais valor ao seu aprendizado, vale a pena entender por que essa estrutura é tão vital e como o Python lida com ela em cenários avançados:


A Importância desse Formato (Padrão JSON e APIs)

Essa estrutura que você criou manualmente é a representação exata do formato JSON (JavaScript Object Notation), que é o padrão universal utilizado na internet para transferir dados entre sistemas.

Quando você faz uma requisição para a API do Google Gemini, do ChatGPT ou consome dados de qualquer servidor web, as informações quase sempre chegam para o seu código organizadas exatamente dessa forma: uma grande lista de objetos (dicionários) onde cada um representa um registro com suas respectivas propriedades.


Dica de Ouro: O Atalho com List Comprehension

A estrutura de loop que você montou é perfeita e muito didática. No dia a dia de projetos de IA, para deixar o código mais conciso e rápido, costumamos reduzir essa mesma lógica para apenas uma linha usando a técnica de Compreensão de Listas (List Comprehension).

Veja como fazer exatamente o mesmo processo de forma compacta:

lista_nomes = ["Maria Silve", "João Santos", "Ana Oliveira", "Pedro Costa", "Juliana Pereira"]
lista_medias = [8.9, 7.5, 4.2, 1.4, 9.5]

# Cria a lista de dicionários diretamente em uma única linha
lista_de_dicts = [{"nome": nome, "média": media} for nome, media in zip(lista_nomes, lista_medias)]

print(lista_de_dicts)

O próximo passo no curso: Conectando ao Pandas

A grande mágica de dominar essa estrutura é que ela serve de ponte direta para a biblioteca mais famosa de análise de dados do Python: o Pandas.

Se você passar essa sua lista_de_dicts para um DataFrame do Pandas, ele automaticamente transforma os dicionários em uma tabela estruturada, onde as chaves ("nome" e "média") viram as colunas e os dados viram as linhas:

import pandas as pd

# O Pandas entende a estrutura perfeitamente e monta a tabela de forma automática
df = pd.DataFrame(lista_de_dicts)
print(df)

Parabéns pela persistência em entender a fundo a proposta do desafio e pela excelente qualidade do código compartilhado!

Espero que possa ter lhe ajudado!

solução!

Obrigado pelo feedback, ótima esse conhecimento da lista de dicionarios pra pandas,m muito bom.