1
resposta

[Sugestão] Emprego de groupby e lambda

Segue uma versão alternativa ao código exibido em aula, utilizando groupby e lambda:

import itertools
# ...
json = response.json()
dados_restaurante = {}
for nome_restaurante, itens in itertools.groupby(
    json, lambda item: item["Company"]
):
    dados_restaurante[nome_restaurante] = [
        {
            "item": item["Item"],
            "price": item["price"],
            "description": item["description"],
        }
        for item in itens
    ]
print(dados_restaurante["McDonald’s"])
1 resposta

Oi, Ian! Como vai?

Você trouxe uma alternativa muito interessante usando groupby com lambda, que é uma forma eficiente e elegante de organizar os dados retornados pela API. Ficou claro e bem estruturado.

Uma dica interessante para o futuro é o uso do método get() dos dicionários, que evita erros caso uma chave não exista. Veja este exemplo:


print(dados_restaurante.get("McDonald’s", "Restaurante não encontrado"))

Esse código tenta acessar a chave "McDonald’s" e, caso ela não exista, retorna a mensagem "Restaurante nao encontrado".

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