尝试从 JSON 中获取最后 5 个对象时出现 TypeError

TypeError when trying to get the last 5 objects from a JSON

import requests

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"}

url = f'https://.......'
response = requests.get(url, headers=headers).json()
graphs = response['graphPoints']
soma = sum(abs(d["value"]) for d in graphs["graphPoints"][-5:])

print(soma)
soma = sum(d["value"] for d in graphs["graphPoints"][-5:])
TypeError: list indices must be integers or slices, not str

我该如何解决这个问题TypeError

注意: 在来自同一个 API 的其他响应中,没有出现此错误,但我找不到它的区别以及造成这种错误的原因一个问题..

注意 2: 老实说,我在社区中发现了关于这个相同类型化错误的其他问题,但我不明白如何在我的具体情况下解决它们。

您不需要读取 graphPoints 两次,替换

soma = sum(d["value"] for d in graphs["graphPoints"][-5:])

soma = sum(d["value"] for d in graphs[-5:])