Если вы не собираетесь делать это сотни раз в секунду, я бы выбрал удобочитаемое решение, например, следующий псевдокод:
def count (str):
lastchar = " "
count = 0
for char as every character in string:
if char is not whitespace and lastchar is whitespace:
count = count + 1
lastchar = char
return count
Создание целого массива других строк кажется излишней тратой, чтобы вы могли их посчитать и выбросить.
И если по какой-то причине это становится проблемой, вы можете просто заменить тело функции более быстрой версией. Однако сначала убедитесь, что является проблемой. Оптимизация кода, достаточно быстрая, уже потрачена впустую.