Как я могу l oop через вызов API, не повторяя первое значение? - PullRequest
0 голосов
/ 07 августа 2020

Итак, я хочу l oop просмотреть список лучших игр на twitch, и у меня возникли небольшие проблемы.

Я извлек из вызова API все, что мне нужно, например name , зрители и миниатюры, но всякий раз, когда я пытаюсь пройти oop через другие 20 игр, он просто повторяет ту же игру поверх вызова API.

from twitch import TwitchClient
import pprint


client = TwitchClient('<CLIENT_ID>')
games = client.games.get_top(limit=20)

for game in games:
    game_info = {
        'game_name': games[0]['game']['name'],
        'game_viewers': games[0]['viewers'],
        'game_thumbnail': games[0]['game']['logo']['large']
    }
    pprint.pprint(game_info)

Ответы [ 2 ]

2 голосов
/ 07 августа 2020

Вы специально сказали ему игнорировать отдельные game значения и вернуться к первому элементу в списке с помощью

for game in games:
    game_info = {
        'game_name': games[0]['game']['name'],

Вы должны использовать свою переменную l oop !

for game in games:
    game_info = {
        'game_name': game['game']['name'],
2 голосов
/ 07 августа 2020

Это потому, что вы просматриваете games в цикле и вообще не используете предполагаемую переменную game в l oop. Вы получаете доступ только к первой игре, используя games[0] на каждой итерации. Просто измените это одно, и это должно исправить ваш код

for game in games:
    game_info = {
        'game_name': game['game']['name'],
        'game_viewers': game['viewers'],
        'game_thumbnail': game['game']['logo']['large']
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...