Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Python

Olá, para mim em certa parte do código começou a ficar um pouco confuso para mim, provavelmente com partes que já foi ensinado anteriormente ou que não foram muito aprofundadas.


    for i in dados_json:
        nome_do_restaurante = i['Company']
        if nome_do_restaurante not in dados_restaurante:
             dados_restaurante[nome_do_restaurante] = []

        dados_restaurante[nome_do_restaurante].append({"item": i['Item'], "price": i['price'], "description": i['description'] })

Nessa parte acima entendi que ele está criando um for onde cada item dentro do dados_json passa por essa lista, primeiro criamos uma variável e atribuimos ela ao valor da chave Company no caso o nome dos restaurantes, depois ele cria uma verificação se o nome do restaurante não está na lista de dados dos restaurantes, depois disso começou a ficar um pouco confuso para mim, não entendi o porque ele criou a lista dei uma olhada em outros tópicos já criados antes de criar esse e falaram que era que o código cria uma nova entrada com o nome do restaurante como chave e uma lista vazia como valor mas mesmo assim não entendi nem um pouco..

1 resposta
solução!

Ola! Na parte do código em que usamos o for i in dados_json, estamos percorrendo todos os itens que vieram no JSON, cada item representa um prato ou bebida de algum restaurante.

A linha nome_do_restaurante = i['Company'] serve para pegar o nome do restaurante daquele item específico. Até aqui, tudo certo.

A confusão costuma vir na parte seguinte:

if nome_do_restaurante not in dados_restaurante:
    dados_restaurante[nome_do_restaurante] = []

O que está acontecendo aí é o seguinte: como a gente quer organizar os pratos por restaurante, precisamos garantir que cada restaurante tenha seu “espaço” reservado dentro do dicionário dados_restaurante. Esse espaço é uma lista, onde vamos colocar todos os pratos daquele restaurante.

Então, essa verificação está dizendo: “Se ainda não criamos uma lista para esse restaurante, vamos criar agora.”

Depois disso, usamos o .append(...) para adicionar o prato atual na lista daquele restaurante. É como se estivéssemos montando o cardápio de cada um, item por item.

No final, o que a gente tem é um dicionário onde cada chave é o nome de um restaurante e cada valor é uma lista com todos os itens do cardápio dele. Isso deixa os dados muito mais organizados e prontos pra qualquer outra etapa do projeto, como salvar em arquivos ou exibir por restaurante.