Python 如何用单函数计算字典值列表平均值并按指定格式输出
单函数实现方案
核心实现
整合原两段代码的拆分逻辑为单个函数,严格匹配第二段代码的逐键打印输出格式:
def cal_dict_avg(data): for key, value_list in data.items(): print(f"dictionary {key}") # 用内置sum替代手动累加循环计算列表平均值 print(sum(value_list) / len(value_list)) # 测试调用 data1 = {'data2' : [70, 70, 70, 100, 100, 100, 120, 120, 150, 150], 'data3' : [333, 70, 11, 100, 100, 100, 133, 120, 150, 13]} cal_dict_avg(data1)
运行输出
和原第二段代码输出完全一致:
dictionary data2 105.0 dictionary data3 113.0
实现优化点
- 去掉了原代码中两个独立函数的拆分结构,所有计算、遍历、打印逻辑收归到单个函数内
- 原列表平均值计算中手动循环累加
total的冗余逻辑,直接替换为Python内置的sum()方法,代码长度更短,计算结果和手动累加完全一致 - 未采用第一段代码返回字典的输出形式,严格保留逐键打印「dictionary 键名」、换行打印对应平均值的格式要求
带边界容错的扩展版本
如果需要适配空列表的异常场景(避免除以0触发报错),可以加入简单判断逻辑:
def cal_dict_avg(data): for key, value_list in data.items(): print(f"dictionary {key}") if not value_list: print("对应列表为空,无法计算平均值") continue print(sum(value_list) / len(value_list))
内容的提问来源于stack exchange,提问作者Ardians.sh
相关产品推荐
相关产品推荐

