You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从InlineResponse200对象取随机值?调用giphy_client报TypeError

错误原因

random.choice() 入参必须是可计算长度、支持索引访问的序列类型(比如列表、元组),你直接传入的api_response是Giphy SDK封装的InlineResponse200响应对象,不是接口返回的GIF结果列表,这个对象没有实现长度计算的相关方法,所以触发报错。

修复方案

Giphy搜索接口返回的GIF结果列表,存放在响应对象的data属性下,你只需要对这个属性做随机选择即可,修正后的代码:

import giphy_client
import random
from pprint import pprint

api_instance = giphy_client.DefaultApi()
api_key = "aqMkX2XKd7aCTM4pVRB7XXXXXX9ieep"
q = "banana"
api_response = api_instance.gifs_search_get(api_key, q)
# 从响应的data字段(GIF结果列表)中随机选取单条内容
random_selected_gif = random.choice(api_response.data)
pprint(random_selected_gif)
通用排查技巧
  • 遇到类型不匹配报错时,优先用type(目标变量)确认变量实际类型,再用print(目标变量)或pprint(目标变量)打印对象内容,就能快速找到实际存储数据的字段
  • 第三方SDK返回的响应通常都是封装后的实体对象,不会直接返回裸数据列表,不要默认响应当即就是你要的数据集

内容的提问来源于stack exchange,提问作者Simon Vlach

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 22:32:59