Numpy int array: Encuentra índices de múltiples entradas de destino

Tengo una gran matriz numpy (dtype=int) y un conjunto de números que me gustaría encontrar en esa matriz, por ejemplo,

import numpy as np
values = np.array([1, 2, 3, 1, 2, 4, 5, 6, 3, 2, 1])
searchvals = [3, 1]
# result = [0, 2, 3, 8, 10]

losresult La matriz no tiene que ser ordenada.

La velocidad es un problema, y dado que ambosvalues ysearchvals puede ser grande

for searchval in searchvals:
    np.where(values == searchval)[0]

no lo corta

¿Alguna pista?

Respuestas a la pregunta(3)

Su respuesta a la pregunta