假设我有一个列表[1,2,3,4],我想要的是得到前两对的和并以这种方式打印它们:
[1,2,3,4]
[3,3,4]
[6,4]
[10]
基本上,它应该继续添加列表的前2个元素,然后删除前2个元素,并在开始处插入和,直到列表只包含1个元素。但是我无法打印相同的内容,只能得到:
[1,2,3,4]
[3,3,4]
[3,4]
[3]
这是我的密码:
counter = len(num_arr)
while (counter > 1):
valHold = (sum(num_arr[:2]))
del numArr[:2]
numArr.reverse()
numArr.append(valHold)
numArr.reverse()
print (numArr)
counter -= 1
我真的很困惑该怎么办。非常感谢你!
最佳答案
只需使用切片替换:
num_arr = [1,2,3,4]
while len(num_arr) >= 2:
num_arr[:2] = [sum(num_arr[:2])]
print(num_arr)