Учитывая список срезов, как я могу отделить последовательность, основанную на них?
У меня есть длинные аминокислотные строки, которые я хотел бы разбить на основе значений start-stop в списке. Пример, вероятно, самый ясный способ объяснить это:
str = "MSEPAGDVRQNPCGSKAC"
split_points = [[1,3], [7,10], [12,13]]
output >> ['M', '(SEP)', 'AGD', '(VRQN)', 'P', '(CG)', 'SKAC']
Дополнительные круглые скобки - показать, какие элементы были выбраны из списка split_points. Я не ожидаю, что точки начала-остановки будут перекрываться.
У меня есть куча идей, которые будут работать, но кажутся ужасно неэффективными (длина кода мудрая), и кажется, что должен быть хороший питонический способ сделать это.