Python嵌套列表求各子列表和并提取最高和子列表的代码调试求助
代码问题排查与修复
错误原因
- 遍历逻辑错误:原有代码外层循环取
len(list_1[0])即第一个子列表的长度(示例中为3,仅循环3次),实际是按列对所有子列表的同位置元素求和,并非遍历每个子列表求和,因此结果数量和数值都不符合预期。 - 累加变量未重置:全局共用一个
total变量,每次累加没有清零,数值会持续叠加历史计算结果。
修复后代码
实现子列表求和(符合你期望的输出)
list_1 = [] list_2 = [] limit = int(input('Number of Lists: ')) for i in range(limit): numbs = [int(x) for x in input('Enter List: ').split()] list_1.append(numbs) # 遍历每个子列表单独求和 for sub_list in list_1: total = 0 for num in sub_list: total += num list_2.append(total) print(list_1) print(list_2)
最终实现:输出元素和最高的子列表
在上述代码基础上增加以下逻辑即可:
max_sum = max(list_2) max_sub_list = list_1[list_2.index(max_sum)] print(f"元素和最高的子列表:{max_sub_list},对应和为:{max_sum}")
内容的提问来源于stack exchange,提问作者Irrelevant
相关产品推荐
相关产品推荐

