Очень хороший вопрос, люблю такие. Что, к чему - хрен поймёшь. Сразу видно - топикстартер очень умный.
Имеется класс Course с переменной section - что за переменная у класса? Ладно, допустим что это - поле экзампляра.
...представляет из себя обычную строку... Например, 2R - наши строки умеют обходиться без кавычек.
Регулярное выражение:... - очень хорошее выражение, без дураков.
...листы в общем листе разделить на подлисты еще раз... - так надо плоско делить или вложенно?
...разделить на основе регулярного выражения - переведи?
По-русски этот вопрос о следующем: есть куча объектов, каждый с атрибутами: .abbr - неважно что, .section - вида "2R"
Нужно сгруппировать объекты по признаку (.abbr, суффикс(.section))
Решение очевидно:
for obj in inlist:
result[obj.abbr, суффикс(.section)].append(obj) # это если без вложенности
Пеши ещё.