re.split()
явно об этом:
Если в разделителе есть группы захвата, и они совпадают в начале строки, результат будет начинаться с пустой строки. То же самое относится и к концу строки:
blockquote>>>> re.split(r'(\W+)', '...words, words...')` ['', '...', 'words', ', ', 'words', '...', ''`
Я думаю, вам лучше использовать
re.findall(r'\D+', sntc)
здесь.
Сопрограммы и параллелизм являются в основном ортогональными. Сопрограммы являются общей управляющей структурой, посредством чего управление потоком совместно передается между двумя различными стандартными программами без возврата.
оператор 'урожая' в Python является хорошим примером. Это создает сопрограмму. Когда с 'урожаем' встречаются, текущее состояние функции сохраняется, и управление возвращается к функции вызова. Функция вызова может затем возвратить выполнение к уступающей функции, и ее состояние будет восстановлено до такой степени, когда, с 'урожаем' встретились, и выполнение продолжится.