如何在Python中仅使用嵌套循环实现嵌套列表的各列求和
嵌套列表列求和实现方案
原有代码逻辑问题
基于展平列表按步长取列的思路存在以下逻辑缺陷:
- 列提取循环嵌套在逐行遍历逻辑内,每处理一行就重复执行列提取操作,最终仅能返回最后一次计算的单列内容
- 未执行列元素求和逻辑,也没有汇总所有列的处理结果
- 未做通用适配,无法支持任意列数的嵌套列表处理
正确实现代码
仅使用嵌套循环实现,无需导入任何外部依赖,适配任意行列数的规整嵌套列表:
def sum_column(table): # 空表直接返回空结果 if not table: return [] # 动态获取总列数,适配任意列数 col_total = len(table[0]) sum_result = [] # 外层循环:遍历每一列索引 for col_idx in range(col_total): current_col_sum = 0 # 内层循环:遍历所有行,累加当前列元素 for row in table: current_col_sum += row[col_idx] sum_result.append(current_col_sum) return sum_result
测试验证
针对示例输入执行测试:
table = [[1,2,3], [2,3,4], [3,4,5]] print(sum_column(table))
输出结果为 [6, 9, 12],对应三列的求和结果分别为6、9、12,符合预期。
实现逻辑说明
- 空表校验:输入为空时直接返回空结果,避免索引取值报错
- 列数动态获取:取第一行的长度作为总列数,无需硬编码数值,适配任意列数的规整二维列表
- 外层循环遍历列索引,逐列处理
- 内层循环遍历所有行,取出当前列索引对应的元素累加求和
- 每列计算完成后将求和结果存入结果列表,最终返回所有列的求和结果
内容的提问来源于stack exchange,提问作者Isabella H
相关产品推荐
相关产品推荐

