Python不使用第三方库计算嵌套列表对应位置元素均值的方法
原代码问题排查
你写的代码存在三处核心错误:
- 初始化的
res结构不符合输出要求,目标结果每个子列表长度为2,你初始定义的子列表长度为3 - Python中列表的
+运算符是拼接操作,不能直接对列表内元素求和,运行时会触发类型错误 - 循环索引逻辑混乱,没有遍历到最内层的数值元素,也没有区分最内层两个位置的独立计算逻辑
正确实现方案
my_list = [[[1,2],[2,3],[1,0]],[[0,1],[1,2]],[[8,9],[2,3],[1,0]]] res = [] for group in my_list: sum_first = 0 sum_second = 0 item_count = len(group) for inner_item in group: sum_first += inner_item[0] sum_second += inner_item[1] # 保留四位小数对齐预期格式 res.append([ round(sum_first / item_count, 4), round(sum_second / item_count, 4) ]) print(res)
输出结果
运行后得到输出:[[1.3333, 1.6667], [0.5, 1.5], [3.6667, 4.0]]
你给出的预期结果中第二个子列表的第二个值1应为笔误,按数学逻辑计算结果为1.5。
内容的提问来源于stack exchange,提问作者user15457402
相关产品推荐
相关产品推荐

