1
resposta

como retornar um json nessa função?

Olá! Preciso retornar os dados em formato de json e se possível, utilizando o return.

Segue exemplo:

soccer_list = ["corinthians","palmeiras", "flamengo", "juventus"]

def return_data(soccer_list):
    for time in soccer_list:
    dados_do_clube = PegarDadosDoClube(time=time)
    qtd_de_gols= dados_do_clube.qtd_de_gols
    qtd_de_impedimentos = dados_do_clube.qtd_de_impedimentos
    qtd_de_faltas = dados_do_clube.qtd_de_faltas
    return [{'time_atual': time} for time in soccer_list]

Dessa forma ele só retorna:

[{'time_atual': 'corinthians'}, {'time_atual': 'palmeiras'}, {'time_atual': 'flamengo'}, {'time_atual': 'juventus'}]

E eu gostaria que retornasse:

[
    {"time_atual": "corinthians',
      "qtd_de_gols: "10",
      "qtd_de_impedimentos": "20"
      "qtd_de_faltas": "30"
      },
    {"time_atual": "palmeiras',
      "qtd_de_gols: "10",
      "qtd_de_impedimentos": "20"
      "qtd_de_faltas": "30"
      },
     {"time_atual": "flamengo',
      "qtd_de_gols: "10",
      "qtd_de_impedimentos": "20"
      "qtd_de_faltas": "30"
      },
     {"time_atual": "juventus',
      "qtd_de_gols: "10",
      "qtd_de_impedimentos": "20"
      "qtd_de_faltas": "30"
      },
]

Agradeço ajuda

1 resposta

Nesse caso como temos diversas variáveis a serem processadas, eu usaria elementos temporários dentro da função para armazenar os dados:

def return_data(soccer_list):
    lista_final = []  # lista temporária

    for time in soccer_list:
        dados_do_clube = PegarDadosDoClube(time=time)

        dct = {}  # dict temporário
        dct['qtd_de_gols'] = dados_do_clube.qtd_de_gols
        dct['qtd_de_impedimentos'] = dados_do_clube.qtd_de_impedimentos
        dct['qtd_de_faltas'] = dados_do_clube.qtd_de_faltas

        lista_final.append(dct)

    return lista_final