如何统计JSON数据中同一国家用户的pp总分?
统计特定国家用户PP总分的Python实现
假设你已经将JSON中提取的国籍与PP分数整理成了如下格式的列表(每个元素为包含用户信息的字典):
user_data = [ {"country": "US", "pp": 1200.5}, {"country": "CN", "pp": 980.2}, {"country": "US", "pp": 1500.7}, # 剩余用户数据... ]
基础实现方式
用普通字典累加各国总分:
country_pp_total = {} for user in user_data: country = user["country"] pp_score = user["pp"] if country in country_pp_total: country_pp_total[country] += pp_score else: country_pp_total[country] = pp_score
获取特定国家总分
以美国为例,直接从统计好的字典中取值(不存在则返回0):
target_country = "US" total_pp = country_pp_total.get(target_country, 0) print(f"{target_country} 用户PP总分:{total_pp:.2f}")
简化实现(用collections.defaultdict)
借助defaultdict可以省去判断键是否存在的步骤:
from collections import defaultdict country_pp_total = defaultdict(float) for user in user_data: country_pp_total[user["country"]] += user["pp"]
内容的提问来源于stack exchange,提问作者BlueJay987
相关产品推荐
相关产品推荐

