【问题标题】:TypeError: list indices must be integers or slices, not st [duplicate]TypeError:列表索引必须是整数或切片,而不是 st [重复]
【发布时间】:2021-06-03 17:30:32
【问题描述】:

python 新手,遇到此错误 TypeError: list indices must be integers or slices, not str

import requests

symbols = 'https://www.binance.com/api/v3/ticker/price'



for symbol in symbols:
    symbol = requests.get(symbols)
    symbol = symbol.json()
    print(symbol['symbol'])

【问题讨论】:

  • 看起来您期望来自 JSON 响应的字典,但您得到的是一个列表。考虑打印出symbol,看看它是否是您所设想的形状
  • symbol = requests.get(symbols) 应该在 for 循环之外
  • 您将符号设置为字符串值,然后循环遍历字符串的每个字母。相反,你应该像@Malay 建议的那样做,但你并不真的需要 json 模块

标签: python


【解决方案1】:

您可以使用 json 模块将响应转换为 Json 格式。检查此代码是否提供所需的输出。

import requests, json
url = 'https://www.binance.com/api/v3/ticker/price'
symbols = requests.get(url)
symbols = json.loads(symbols.text)
for symbol in symbols:
    print(symbol['symbol'])

【讨论】:

    猜你喜欢
    • 2021-12-30
    • 2016-09-16
    • 1970-01-01
    • 2019-07-04
    • 2015-12-09
    • 2021-11-28
    • 2020-09-23
    • 2020-09-04
    相关资源
    最近更新 更多