Encontrar si una cadena comienza con uno de los prefijos de longitud variable de una lista

Necesito averiguar si un nombre comienza con alguno de los prefijos de una lista y luego eliminarlo, como:

if name[:2] in ["i_", "c_", "m_", "l_", "d_", "t_", "e_", "b_"]:
    name = name[2:]

Lo anterior solo funciona para los prefijos de lista con una longitud de dos. Necesito la misma funcionalidad para prefijos de longitud variable.

¿Cómo se hace de manera eficiente (poco código y buen rendimiento)?

A para bucle iterando sobre cada prefijo y luego marcandoname.startswith(prefix) para finalmente cortar el nombre de acuerdo con la longitud del prefijo funciona, pero es un montón de código, probablemente ineficiente, y "no Pythonic".

¿Alguien tiene una buena solución?

Respuestas a la pregunta(11)

Su respuesta a la pregunta