Подстановка регулярных выражений - это одно, но если вы не понимаете регулярное выражение, есть способ сделать это без импорта каких-либо библиотек. Возможно, это не самый эффективный способ, но он работает.
s = 'Full Bar Available Valet Parking AvailableIndoor SeatingWifiTable reservation required'
fin = []
i = 1 # We want to start from 1 due to how our if condition is structured
fin.append(s[0]) # Since we're starting from the 1st (not 0th) position, we have
# to manually add it to our final list outside of the loop
while i < len(s): # len(s) to check over the entire length of the string
if s[i].istitle() and not s[i-1].istitle() and s[i-1] != ' ':
# If the previous letter was lower case and the current one is upper case,
# and also the previous isn't a space, we separate them by 2 spaces
fin.append(" ")
fin.append(s[i])
i += 1
else:
fin.append(s[i])
i += 1
print(''.join(fin)) # This just joins all the elements of our list 'fin' into
#one, without any additional characters between each element
Я думаю, что это довольно легко понять, так что позже вы сможете создать свой собственный код для различных других ситуаций. Просто некоторые базовые операции с циклами и списками.