如何在返回的30组数据中,需要求和每组数据的第3个数字?(标签-python|关键词-求和)

 ###### 问题遇到的现象和发生背景
不知道如何对多列表中的固定位置数据进行求和

问题相关代码如下

headers = {Accept application/json Content-Type application/json}
url = /spot/candlesticks
query_param = currency_pair=BTC_USDT&interval=1h&limit=30 #K线图的请求参数,interval间隔1小时,限制30条数据
r = requests.request(GET, host + prefix + url + "?" + query_param,headers=headers)
prin t(r.js0n())

运行结果及报错内容如下
[[1640264400 1992449.39401513435 48620 48854 48592 48622.66] [1640268000 2077963.480610466294 48601 48696 48468 48620] [1640271600 1632344.138842265967 48813 48836 48582 48599] 其余27组省略
 ###### 我的解答思路和尝试过的方法

 ###### 我想要达到的结果
我想要求和每组数据的第3个数值,例如 48620 48601 48813 以及往后的27个数值

img

img

很简单,用for循环。
注意:列表索引从0开始!

import requests

host = "https://api.gateio.ws"
prefix = "/api/v4"
headers = {'Accept': 'application/json', 'Content-Type': 'application/json'}
url = '/spot/candlesticks'
query_param = 'currency_pair=BTC_USDT&interval=1h&limit=30'
r = requests.request('GET', host + prefix + url + "?" + query_param, headers=headers)
s = 0
for i in r.json():
    s += int(float(i[2])) # 可处理小数
print(s)
>>> s = '[[1640264400 1992449.39401513435 48620 48854 48592 48622.66] [1640268000 2077963.480610466294 48601 48696 48468 48620] [1640271600 1632344.138842265967 48813 48836 48582 48599]]'
>>> s = s[2:-2] #去掉[[和]]
>>> lst = s.split('] [') #分割成列表
>>> lst
['1640264400 1992449.39401513435 48620 48854 48592 48622.66', '1640268000 2077963.480610466294 48601 48696 48468 48620', '1640271600 1632344.138842265967 48813 48836 48582 48599']
>>> for i,ls in enumerate(lst):
    lst[i] = ls.split()

    
>>> lst
[['1640264400', '1992449.39401513435', '48620', '48854', '48592', '48622.66'], ['1640268000', '2077963.480610466294', '48601', '48696', '48468', '48620'], ['1640271600', '1632344.138842265967', '48813', '48836', '48582', '48599']]
>>> Sum = 0
>>> for i in lst:
    Sum += int(i[2])

    
>>> Sum
146034
>>> 48620+48601+48813
146034
>>> 

30组也能出答案,只要格式一致换掉s即可

result = sum(map(lambda x:float(x[2]) , r.json()))

print(result)