Encontrando se uma string começa com um dos prefixos de tamanho variável de uma lista

Preciso descobrir se um nome começa com algum prefixo de uma lista e depois removê-lo, como:

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

Os itens acima funcionam apenas para prefixos de lista com um comprimento de dois. Preciso da mesma funcionalidade pararefixos de tamanho variáv.

Como é feito com eficiência (pouco código e bom desempenho)?

A para loop repetindo cada prefixo e depois verificandoname.startswith(prefix) para finalmente dividir o nome de acordo com o tamanho do prefixo, mas é muito código, provavelmente ineficiente e "não-pitonico"

lguém tem uma boa soluçã

questionAnswers(11)

yourAnswerToTheQuestion