有没有更简单的方法来保留句子中的字符,但保持单词顺序不变?

时间:2019-09-23 02:59:16

标签: reverse python-3.7

是否有一种更简单的方法来获取句子字符串并返回每个单词中字符顺序颠倒的句子?重要的是,单词中字符的顺序要颠倒,而不是句子中单词的顺序要颠倒。

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 个答案:

答案 0 :(得分:1)

您几乎有这个主意,但是可以使用生成器表达式将其打包:

>>> sentence = "stack overflow rules"
>>> " ".join(x[::-1] for x in sentence.split())
'kcats wolfrevo selur'

按照建议here,将单个空格字符串传递到split可以保留连续的空格:

>>> sentence = "     stack   overflow rules "
>>> " ".join(x[::-1] for x in sentence.split(" "))
'     kcats   wolfrevo selur '