A couple Python tricks

The built-in all() is nice for avoiding long lines of boolean and's. There's also any() for or's.

Also, there was a relationship between the index and the value that should be there.

Finally, since the value is unique, we can just break when stop (break) when we find it.