名前がリストのプレフィックスのいずれかで始まるかどうかを調べてから、次のように削除する必要があります。
if name[:2] in ["i_", "c_", "m_", "l_", "d_", "t_", "e_", "b_"]:
name = name[2:]
上記は、長さが 2 のリスト プレフィックスに対してのみ機能します。可変長プレフィックスにも同じ機能が必要です。
それはどのように効率的に行われますか (コードが少なく、パフォーマンスが良い)?
各プレフィックスを繰り返し処理し、プレフィックスname.startswith(prefix)
の長さに応じて最終的に名前をスライスすることを確認する for ループは機能しますが、コードが多く、おそらく非効率的であり、「非 Pythonic」です。
誰もが良い解決策を持っていますか?