Python统计JSON元素中符合指定条件的出现次数
统计JSON中Names数组特定属性值的出现次数
没问题,我来帮你调整代码实现这个需求!你只需要遍历Names数组里的每个元素,检查目标属性的值是否符合条件,然后统计符合条件的元素数量即可。
修改后的代码示例
import json with open('names.json') as f: item_dict = json.load(f) # 初始化计数器 count = 0 # 遍历Names数组中的每个元素 for item in item_dict['Names']: # 检查Surname是否为"Snow",用get避免KeyError(如果元素没有Surname字段) if item.get('Surname') == 'Snow': count += 1 print(count)
更简洁的写法(生成器表达式)
如果你喜欢更紧凑的代码,可以用Python的生成器表达式配合sum()函数,一行完成统计:
import json with open('names.json') as f: item_dict = json.load(f) # 统计Surname为"Snow"的元素数量 snow_count = sum(1 for item in item_dict['Names'] if item.get('Surname') == 'Snow') print(snow_count)
注意事项
- 使用
item.get('Surname')而不是直接item['Surname']的好处是:如果数组中有元素没有Surname字段,代码不会抛出KeyError,而是返回None,避免程序崩溃。 - 如果需要忽略大小写统计(比如同时匹配"Snow"和"snow"),可以改成
item.get('Surname', '').lower() == 'snow'。
内容的提问来源于stack exchange,提问作者A.D
相关产品推荐
相关产品推荐

