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?