Определение того, начинается ли строка с одной из переменных списка- длина префиксов

Мне нужно выяснить, начинается ли имя с любого из префиксов списка и затем удалите его, например:

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

Вышеуказанное работает только для префиксов списков длиной два. Мне нужна такая же функциональность для префиксов переменной длины .

Как это сделать эффективно (небольшой объем кода и хорошая производительность)?

Цикл for повторяет каждый префикс и затем проверяет name.startswith (prefix) , чтобы окончательно разделить имя по длине префикса работает, но это много кода, вероятно, неэффективного и «непитонического».

У кого-нибудь есть хорошее решение?

21
задан BartoszKP 21 August 2015 в 21:08
поделиться