Как разделить строку по заглавным буквам?
import re

str1 = """Высшая математика, дополнительные главы высшей математики, Численные методы, Дополнительные главы высшей математики, Дополнительные главы по численным методам, Дополнительные главы математического анализа, Теория упругости, Профессиональная практика, Преддипломная практика, Научно-исследовательская практика"""

re.findall(r'[А-Я]?[^А-Я]*', str1)
['Высшая математика, дополнительные главы высшей математики, ',
 'Численные методы, ',
 'Дополнительные главы высшей математики, ',
 'Дополнительные главы по численным методам, ',
 'Дополнительные главы математического анализа, ',
 'Теория упругости, ',
 'Профессиональная практика, ',
 'Преддипломная практика, ',
 'Научно-исследовательская практика',
 '']
re.split(', (?=[А-Я])', s)
Если кол-во пробелов может быть больше 1, тоre.split(', +(?=[А-Я])', s)