如何编写Python函数,按多个键分组并计算字典列表中值的平均值?
- 内容介绍
- 文章标签
- 相关推荐
本文共计779个文字,预计阅读时间需要4分钟。
通过多个键进行分组并计算字典列表的平均值,可以使用Python的`collections`模块中的`Counter`类来实现。以下是一个简化的示例:
pythonfrom collections import Counter
假设有一个字典列表input_list=[ {'dept': '001', 'score': 85}, {'dept': '001', 'score': 90}, {'dept': '002', 'score': 75}, {'dept': '002', 'score': 80}, {'dept': '001', 'score': 95}]
使用Counter来计算每个部门的分数总和和计数dept_score_counter=Counter()for item in input_list: dept_score_counter[item['dept']] +=item['score']
计算每个部门的平均分dept_avg_scores={dept: total / count for dept, (total, count) in dept_score_counter.items()}
输出结果print(dept_avg_scores)
这段代码首先创建了一个包含多个字典的列表,每个字典代表一个记录,包含部门(`dept`)和分数(`score`)。然后,使用`Counter`来累加每个部门的分数,并计算每个部门的平均分数。最后,输出每个部门的平均分数。
本文共计779个文字,预计阅读时间需要4分钟。
通过多个键进行分组并计算字典列表的平均值,可以使用Python的`collections`模块中的`Counter`类来实现。以下是一个简化的示例:
pythonfrom collections import Counter
假设有一个字典列表input_list=[ {'dept': '001', 'score': 85}, {'dept': '001', 'score': 90}, {'dept': '002', 'score': 75}, {'dept': '002', 'score': 80}, {'dept': '001', 'score': 95}]
使用Counter来计算每个部门的分数总和和计数dept_score_counter=Counter()for item in input_list: dept_score_counter[item['dept']] +=item['score']
计算每个部门的平均分dept_avg_scores={dept: total / count for dept, (total, count) in dept_score_counter.items()}
输出结果print(dept_avg_scores)
这段代码首先创建了一个包含多个字典的列表,每个字典代表一个记录,包含部门(`dept`)和分数(`score`)。然后,使用`Counter`来累加每个部门的分数,并计算每个部门的平均分数。最后,输出每个部门的平均分数。

