#python #typeerror #riot-games-api
#python #ошибка типа #riot-games-api
Вопрос:
Я перепробовал много потенциальных решений, предлагаемых на сайте и в Google, но ни одно из них не дало мне никакого успеха. Я пытаюсь извлечь определенный элемент из списка после запроса в Riot Games API.
Мой код:
lol_watcher = LoLWatcher('<API_KEY>')
my_region = 'na1'
me = lol_watcher.summoner.by_name(my_region, 'doublelift')
my_ranked_stats = lol_watcher.league.by_summoner(my_region, me['id'])
print(my_ranked_stats)
Это выводит следующее:
[{'leaguId': <leagueID>, 'queueType': <queueType>, 'tier': <tier>,...}]
Моя проблема возникает, когда я пытаюсь и print
только 'tier'
:
print(my_ranked_stats['tier'])
Если я создаю таким образом, он выдает TypeError: list indices must be integers or slices, not str
ошибку.
Любая помощь в этом приветствуется.
Ответ №1:
Это потому my_ranked_stats
, что это список. 'tier'
Ключ существует в словаре, который является первым первым элементом my_ranked_stats
списка. Таким образом, вы должны получить доступ ['tier']
из нулевого индекса списка следующим образом:
print(my_ranked_stats[0]['tier'])
Комментарии:
1. Спасибо. Теперь я чувствую себя настоящим идиотом, но спасибо!