python - 如何在不重复第一个值的情况下循环 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)
解决方案
这是因为您正在循环,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']
}
推荐阅读
- python - 如何使用装饰器从我的业务逻辑生成值到日志文件?
- ms-office - Office web add-in : Office.initialize() function
- python - 在保持句子结构和标点符号的同时打乱单词的字符
- vivado - AXI 协议,安全和非安全交易的区别
- node.js - 由于 fetch 如何下载存档?节点
- spring-boot - 找不到测试类 - Spring Boot
- typescript - 无法从打字稿文件导入导出的类
- python - 函数调用不执行其定义
- python - 如何避免三元运算符赋值中的重复?
- python - 'str' 和 'int' 的实例之间不支持 '>'