Разбивка строки по заглавным буквам

Напишите функцию, которая будет принимать строку, вставлять пробелы перед заглавными буквами и переводить всю строку в нижний регистр.

Примеры

cap_space("helloWorld") ➞ "hello world"

cap_space("iLoveMyTeapot") ➞ "i love my teapot"

cap_space("stayIndoors") ➞ "stay indoors"

Варианты решений

def cap_space(txt):
    return ''.join([ch if ch.islower() else ' ' + ch.lower() for ch in txt])
import re

def cap_space(txt):
    return re.sub('([A-Z])', r' \1', txt).lower()