У вас есть идея, но можно упаковать ее в большее, используя выражение генератора:
>>> sentence = "stack overflow rules"
>>> " ".join(x[::-1] for x in sentence.split())
'kcats wolfrevo selur'
Передача строки из одного пробела в split
позволяет сохранить последовательные пробелы, как это предлагается здесь :
>>> sentence = " stack overflow rules "
>>> " ".join(x[::-1] for x in sentence.split(" "))
' kcats wolfrevo selur '