Python / NumPy primeira ocorrência do subarray

Em Python ou NumPy, qual é a melhor maneira de descobrir a primeira ocorrência de um subarray?

Por exemplo, eu tenho

a = [1, 2, 3, 4, 5, 6]
b = [2, 3, 4]

Qual é a maneira mais rápida (em tempo de execução) de descobrir onde b ocorre em a? Entendo que para strings isso é extremamente fácil, mas e para uma lista ou ndarray numpy?

Muito obrigado

[EDITADO] Prefiro a solução numpy, pois, por minha experiência, a vetorização numpy é muito mais rápida que a compreensão da lista Python. Enquanto isso, a grande variedade é enorme, então não quero convertê-la em uma string; isso será (muito) longo.

questionAnswers(8)

yourAnswerToTheQuestion