Python中遍历列表并计算每行元素总和以生成指定输出
解决Python列表循环生成子列表及总和的问题
问题说明
基于列表 data = [1, 2, 3, 4, 5],需生成包含对应子列表及其元素总和的输出,预期格式如下:
[1, 2, 3, 4, 5, 15]
[2, 3, 4, 5, 14]
[3, 4, 5, 12]
[4, 5, 9]
[5, 5]
你之前的错误代码未使用目标列表,仅以数字5做循环,逻辑偏离需求,因此无法得到正确结果。
正确实现代码
data = [1, 2, 3, 4, 5] for i in range(len(data)): sub_list = data[i:] result = sub_list + [sum(sub_list)] print(str(result).replace("'", ""))
代码说明
range(len(data))生成从0到4的索引,对应原列表的5个起始位置data[i:]截取从第i个元素开始到末尾的子列表,比如i=0时取整个列表,i=1时取[2,3,4,5]sum(sub_list)计算子列表元素总和,将其作为新元素拼接到子列表末尾str(result).replace("'", "")把结果列表转为字符串并去掉默认的单引号,输出符合预期的格式
内容的提问来源于stack exchange,提问作者marivic valdehueza
相关产品推荐
相关产品推荐

