Вы можете разбить свою строку, поменять буквы для каждого слова и .join () вернуть их вместе:
# example is wrong, does not swap, only puts first in the back. see below for fix
text = ' '.join( t[1:]+t[0] for t in "Hello World".split() )
print (text)
Вывод:
elloH orldW
Это использует список, чтобы извлечь каждоеsplitted word (t
) - срез списка, чтобы переместить переднюю букву назад (t[1:]+t[0]
) и ' '.join()
, чтобы сделать список строк обратно в строку.
Ссылки:
Также работает для более длинных строк:
elloH orldW si a eallyr verusedo trings ermt - orF ureS !
Как указал @Accumulation, я неправильно понял вопрос - мой пример просто помещает первую букву в конец строки, что только вдвое сокращает объем работы, выполненной для замены первой и последней букв:
# t[-1] is the last character put to the front,
# followed by t[1:-1] 1st to (but not including) the last character
# followed by t[0] the first character
text = ' '.join( t[-1]+t[1:-1]+t[0] for t in "Hello World".split() )
print (text)
Вывод:
oellH dorlW