# Calculate differences between elements of a sequence in Python

I often encounter the need to calculate the (finite) differences between elements of a sequence, e.g., to calculate the duration between points in a time-series.

The calculation is simple, for the sequence `[a,b,c,d]`

the difference between the elements are `[b-a,c-b,d-c]`

.

Hence, for the sequence `[1,2,3,5,6,9]`

, the differences between the elements are: `[1,1,2,1,3]`

.

The function is built-in to most high-level languages used for technical computing, such as Matlab and Julia.

To the best of my knowledge, Python doesn't have a built in way to perform this calculation.

Here's the function I've created, implementing the `diff`

algorithm in Python, using tee from the built-in itertools module:

```
from itertools import tee
def diff(s):
"""Diff elements of a sequence:
s -> s1 - s0, s2 - s1, s3 - s2, ...
"""
a, b = tee(s)
next(b, None)
return (j - i for i, j in zip(a, b))
```

This works fine, but maybe there is a more compact, and elegant way to do it.