1
resposta

Por quê um dicionário??

if response.status_code == 200:
    dados_json = response.json()
    dados_restaurante = {}   # Por que não foi utilizado uma lista aqui ???
    for item in dados_json:
        nome_do_restaurante = item['Company']
        if nome_do_restaurante not in dados_restaurante:
            dados_restaurante[nome_do_restaurante] = []

Não compreendo por que foi utilizado um dicionário para inserir listas. Há alguma prioridade entre essas estruturas? Quero dizer, devo utilizar dicionário para inserir listas?? Eu fiquei imaginando se não seria mais apropriado utilizar:

dados_restaurante = [] 
#ao invés de 
dados_restaurante = {}

Em seguida, na declaração interna do for, criar outras listas para separar as companys conforme já esta no código. dados_restaurante[nome_do_restaurante] = [] e assim, inserir os dicionarios dentro desta ultima lista tal como já esta no código:

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

Olá! Tudo bem?

A escolha entre dicionário e lista depende do tipo de estrutura de dados que você quer criar e como pretende acessá-los. No seu caso, a ideia é organizar os dados de um JSON que contém informações de vários restaurantes.

O uso de um dicionário é apropriado aqui porque ele permite que você associe cada restaurante a uma lista de itens. Veja como isso funciona:

  • Dicionário: Ele é usado para mapear chaves a valores. Neste caso, a chave é o nome do restaurante (nome_do_restaurante) e o valor é uma lista de itens associados a esse restaurante. Isso facilita a busca e a organização dos dados, pois você pode acessar diretamente os itens de um restaurante específico usando o nome como chave.

  • Lista: Se você usasse uma lista simples para armazenar todos os itens, não teria uma maneira direta de separar os itens por restaurante. Você teria que iterar sobre a lista inteira para encontrar todos os itens de um restaurante específico, o que não é eficiente.

Aqui está um exemplo prático:

# Usando um dicionário
dados_restaurante = {
    "McDonald's": [
        {"item": "Hamburger", "price": 32.42, "description": "Uma explosão de sabores em cada mordida."},
        {"item": "Cheeseburger", "price": 38.81, "description": "Uma opção saudável e equilibrada."}
    ],
    "Pizza Hut": [
        {"item": "Pepperoni Pizza", "price": 45.00, "description": "Pizza com pepperoni e queijo."}
    ]
}

# Acesso direto aos itens do McDonald's
print(dados_restaurante["McDonald's"])

Com o dicionário, você pode acessar diretamente os itens de um restaurante específico. Isso torna o código mais organizado e eficiente, especialmente quando se lida com grandes volumes de dados.

Espero ter ajudado e bons estudos!

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