Задать вопрос
Ernesto
@Ernesto
Junior

Почему функция добавляет только последний объект?

Почему функция возвращает только последний объект из запроса ? А не добавляет в словарь data новый

def holdings():
    data = {}
    res = requests.get(BASE_URL)
    res_content = json.loads(res.content)    
    for holding in res_content['data']:
         data['id'] = holding['id']
         data['name'] = holding['attributes']['name']
    return data
  • Вопрос задан
  • 46 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
Dr_Elvis
@Dr_Elvis Куратор тега Python
В гугле забанен
Потому что ты в цикле перезаписываешь словарь по одним и тем же ключам.
Добавь в data пустой список и добавляй туда значения.
def holdings():
    data = {} 
    data['content'] = []
    res = requests.get(BASE_URL)
    res_content = json.loads(res.content)    
    for holding in res_content['data']:
         data_id = holding['id']
         data_name = holding['attributes']['name']
         data['content'].append({'id': data_id, 'name': data_name})
    return data
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы