Есть ли более простой способ зарезервировать символы в предложении, но сохранить порядок слов как есть? - PullRequest
1 голос
/ 23 сентября 2019

Есть ли более простой способ взять строку предложения и вернуть предложение с обратным порядком символов в каждом слове?Важно отметить, что порядок символов в словах меняется на противоположный, НЕ меняйте порядок слов в предложении.

def reverse_words(sent):

    reverseall = sent[::-1]
    reversewordlist = reverseall.split()
    newlist = reversewordlist[::-1]
    newsentence = " ".join(newlist)
    return newsentence


print(reverse_words('keep coding'))                                   # => 'peek gnidoc'

1 Ответ

1 голос
/ 23 сентября 2019

У вас есть идея, но можно упаковать ее в большее, используя выражение генератора:

>>> 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 '
...