如何在Python中统计嵌套数组内所有movements的JSON对象总数
计算所有movements对象总数的解决方案
我来帮你搞定这个问题~你现在的代码只获取了第一个result下movements的长度,而你的JSON数据是一个包含多个对象的顶层数组,所以需要遍历数组里的每一项,累加每个result中movements的元素数量。
这里有两种实用的实现方式:
方法一:循环累加(直观易懂)
import json RESULTS = 'sample.json' with open(RESULTS) as f: data = json.load(f) total_movements = 0 # 遍历顶层数组里的每个对象 for entry in data: # 取出当前对象里的movements数组,累加它的长度 total_movements += len(entry['result']['movements']) print(total_movements) # 输出:3
方法二:生成器表达式求和(简洁优雅)
import json RESULTS = 'sample.json' with open(RESULTS) as f: data = json.load(f) # 用sum()配合生成器表达式,一行完成累加 total_movements = sum(len(entry['result']['movements']) for entry in data) print(total_movements) # 输出:3
这两种方式都会遍历你的JSON数据里的每一个顶层对象,逐个取出result下的movements数组,计算其长度并累加,最终得到所有movements对象的总数量,正好符合你的预期结果3。
内容的提问来源于stack exchange,提问作者jjk
相关产品推荐
相关产品推荐

