Python循环处理CMC API响应:将多个JSON结果合并至单个列表
解决CoinMarketCap API响应合并到单个列表的问题
你的代码问题在于每次循环都重新初始化了test列表,导致每个API响应都被存入单独的新列表中。只需调整test的初始化位置,并简化冗余代码,就能实现将所有响应合并到一个列表的需求。
修改后的代码
import requests # 提前初始化存储所有响应的列表(关键:放在循环外部) test = [] headers = {"X-CMC_PRO_API_KEY": "你的API密钥"} # 替换为你的实际CMC API密钥 nameList = ["BTC", "ETH"] # 示例加密货币符号列表 for symbol in nameList: # 直接构造目标URL,无需额外的urlList url_symbol = f"https://pro-api.coinmarketcap.com/v1/cryptocurrency/info?symbol={symbol}" response = requests.get(url_symbol, headers=headers) # 将当前响应追加到全局的test列表中 test.append(response.content) # 输出合并后的结果 print(test) print(type(test))
核心修改说明
- 将
test = []移到循环外部:确保整个循环过程中使用同一个列表,所有响应都会追加到这个列表里 - 移除冗余的
urlList和内层循环:每次循环只需要针对当前symbol构造URL并请求,无需额外封装成列表再循环 - 保持
append操作:每次请求后将响应内容追加到test,最终得到包含所有加密货币信息的单个列表
执行修改后的代码,输出会符合你的期望:
[b'{"status":{"timestamp"...}, b'{"status":{"timestamp"...}]
内容的提问来源于stack exchange,提问作者John C
相关产品推荐
相关产品推荐

