Python列表相邻元素求和问题:自定义代码无输出排查
解决相邻元素求和无输出的问题
嘿,我来帮你排查这个问题!你的代码没输出的原因很明确——range()函数的参数用错了,导致循环根本没执行起来,更别说计算相邻元素的和了。
问题出在哪?
Python里range(start, stop, step)的规则是:生成从start开始,到stop之前结束的整数序列,step是步长。你写的代码里:
- 外层循环
range(0,1,list_len-1):start=0,stop=1,step=5,只会生成[0]这一个元素 - 内层循环
range(1,1,list_len-1):start和stop都是1,直接不会生成任何元素,所以内层的求和代码完全没机会运行
而且其实你根本不需要嵌套循环,相邻元素求和用一次循环就足够了。
修正后的代码(基础版)
num_list = [1,2,3,4,5,6] result = [] # 遍历到倒数第二个元素即可,因为要和下一个元素配对 for i in range(len(num_list) - 1): pair_sum = num_list[i] + num_list[i+1] result.append(pair_sum) print(pair_sum, end=' ') # 输出:3 5 7 9 11
更简洁的写法(列表推导式)
如果你喜欢更简洁的代码,可以用列表推导式一行生成结果:
num_list = [1,2,3,4,5,6] result = [num_list[i] + num_list[i+1] for i in range(len(num_list)-1)] print(' '.join(map(str, result))) # 输出:3 5 7 9 11
额外优化点
- 你定义的
n、count、j变量都没用到,完全可以删掉,简化代码 - 不需要提前定义空列表
new,如果只是打印结果,甚至可以直接在循环里输出,不需要存起来
内容的提问来源于stack exchange,提问作者pragathiswar j
相关产品推荐
相关产品推荐

