user1376377 - 8 months ago 29

Python Question

I am quite new and I hope it's not too obvious, but I just can't seem to find a short and precise answer to the following problem.

I have two lists:

`a = [2,3,5,2,5,6,7,2]`

b = [2,5,6]

I would like to find when all the indexes of the second list (

`b`

`a`

indexes of b in a:

`3, 4, 5`

`b = a[3:6]`

Answer

With a list comprehension:

```
>>> [(i, i+len(b)) for i in range(len(a)) if a[i:i+len(b)] == b]
[(3, 6)]
```

Or with a for-loop:

```
>>> indexes = []
>>> for i in range(len(a)):
... if a[i:i+len(b)] == b:
... indexes.append((i, i+len(b)))
...
>>> indexes
[(3, 6)]
```

Source (Stackoverflow)