Ошибка "object is not subscriptable"
Мне нужно достать параметр "intelligence" у 3-героев, написал код, думал по ключам пройдусь до нужного уровня вложенности и добавлю нужные значения в новый словарь, но мне выдает ошибку "object is not subscriptable", при попытке пройтись по ключам, хотя я проверял через 'type' - объектом является словарь! В чем может быть причина?
from pprint import pprint
import requests
import json
superheroes = {}
TOKEN = '2619421814940190'
API = "https://superheroapi.com/api/2619421814940190/"
hero_list = {'Hulk', 'Captain America', 'Thanos'}
for name in hero_list:
responses = requests.get(API + f'/search/{name}')
x = responses['results']['powerstats']['intelligence']
print(x)
Ответы (3 шт):
Вставляем отладочную печать:
print(type(responses))
после присвоения и видим, что responses это объект:
<class 'requests.models.Response'>
Соответственно, операцию индексации к нему применить ну никак нельзя!
Берите из ответа json(), ну и циклами по нему идите:
for result in requests.get(API + f'/search/{name}').json()['results']:
print(name, result['powerstats']['intelligence'])
Вывод:
Hulk 88
Hulk 50
Hulk 81
Captain America 69
Thanos 100
Для Hulk там список из нескольких результатов, почему так - я не знаю, такая структура у возвращаемого json-а.
разобрался, в строку x = response[......] после response надо добавить .json()