Я новичок в Python. Мне нужно решить проблему с суммированием соседнего ненулевого значения в списке.
Скажи, у меня есть список с именем
a = [2, 3, 0, 0, 1, 0, 3, 3, 1, 0, 0].
В a будет несколько случаев, когда элементы отличны от нуля. Например, 2 и 3 соседствуют, поэтому я хочу подвести их итог, чтобы я получил 5.
Затем, есть другие соседние элементы, которые являются 3, 3 и 1. Это - то, где я сталкиваюсь с проблемой, потому что я хочу суммировать ее до 7.
Но в коде, который я пытался сделать, он все равно выводит 4, что является суммой a [7] и a [8]. Есть ли способ, которым я могу избежать этого?
c =[]
for i in range(1, len(a)):
if a[i-1] != 0:
if a[i] != 0:
tot = a[i] + a[i-1]
c.append(tot)
if a[i+1] != 0:
tot = tot + a[i+1]
c.append(tot)
else:
tot = 0;
continue