Понимания - ваш лучший друг :). Всего две строчки:
>>> a=['00:00', '00:01', '00:02', '00:03', '00:00', '00:01', '00:02']
>>> found=[index for index,item in enumerate(a) if item=='00:00'] + [len(a)]
>>> [a[found[i]:found[i+1]] for i in range(len(found)-1)]
[['00:00', '00:01', '00:02', '00:03'], ['00:00', '00:01', '00:02']]
Вот что мы делаем:
Мы ищем позиции разделителя и получаем список, который содержит индексы разделителя:
>>> found=[index for index,item in enumerate(a) if item=='00:00']
>>> found
[0, 4]
Мы добавляем len (a) для включения последнего диктанта.
И создание новых списков с разбивкой по найденным индексам:
>>> [a[found[i]:found[i+1]] for i in range(len(found)-1)]
[['00:00', '00:01', '00:02', '00:03'], ['00:00', '00:01', '00:02']]