list slicing
хороший метод.
все, что вам нужно сделать, это перейти от начального индекса до конечного индекса-2 (может составить сумму из последних 3 элементов, и когда вы достигнете второго, последнего или последнего элемента, вы не сможете получить 3 элемента)
здесь вы можете взять 3 элемента и использовать нарезку списка, список срезов из
текущий индекс до следующего 3 индекса, т.е. a[i:i+3]
, где [i,i+3)
- диапазон. затем в этом новом списке выполните операцию sum
и добавьте результат в окончательный список.
a = [5, 4, 9, 3, 6, 6, 8, 2]
res=[]
for i in range(len(a)-2):
res.append(sum(a[i:i+3]))
print(res)
выход
[18, 16, 18, 15, 20, 16]