An arithmetic slice is equivalent to a zero in second order derivative therefore the number of arithmetic slices is equivalent to the partial sum of consecutive zeros.

```
class Solution(object):
def numberOfArithmeticSlices(self, A):
"""
:type A: List[int]
:rtype: int
"""
sndOrder = self.getGradient(self.getGradient(A))
res, zeros = 0, 0
for n in sndOrder:
zeros = zeros + 1 if not n else 0
res += zeros
return res
def getGradient(self, arr):
return [t - s for s, t in zip(arr, arr[1:])]
```