首页 > 解决方案 > 如何在不重复第一个值的情况下循环 API 调用?

问题描述

所以,我想遍历 twitch 上的顶级游戏列表,但我遇到了一些麻烦。

我从 API 调用中取出了我需要的东西,例如名称、观众和缩略图,但每当我尝试循环浏览其他 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)

标签: python

解决方案


这是因为您正在循环,games而不是在循环中使用您想要game的变量。您只能通过使用games[0]每次迭代来访问第一个游戏。只需更改一件事,这应该可以修复您的代码

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

推荐阅读