In this article, we will see how to implement a sliding window or rolling iterator in Python.

Assume we have a sequence of elements and we want to process the data in a fixed length every time. In such a case, we can use the sliding window mechanism where a sliding window of `k`

size moves over the sequence by considering the subset of `k`

elements at each step.

The window starts at the first `k`

element and then slides to the next `k`

element until it reaches the end of the sequence.

### Implementing sliding window iterator

```
def sliding_window(sequence, window_size):
for i in range(len(sequence) - window_size + 1):
yield sequence[i:i + window_size]
```

In the above example, we defined a function called `sliding_window`

which takes two arguments i.e. sequence & window size. Using for loop we iterate over the indices of the sequence starting from 0 till `len(sequence) - window_size`

While iterating, we yield the sequence of the current window position which generates a new window of elements at each iteration.

**Following is an example of how to use the above function:**

```
# Example 1: Sliding window over a list of numbers
numbers = [1, 2, 3, 4, 5, 6, 7]
window_size = 3
for window in sliding_window(numbers, window_size):
print(window)
```

**Output:**

```
[1, 2, 3]
[2, 3, 4]
[3, 4, 5]
[4, 5, 6]
[5, 6, 7]
```