【问题标题】:How to reverse the order of letters in a string in python [closed]如何在python中反转字符串中字母的顺序[关闭]
【发布时间】:2014-10-12 02:29:17
【问题描述】:

在python中,如何颠倒字符串中单词的顺序,也颠倒单词中字母的顺序。

例如,如果输入是:

Hello world

输出应该是:

olleH dlrow

我的尝试:

a=input('Line: ') 
print(a[::-1]) 

【问题讨论】:

  • 所以如果输入是'hello world',输出是'dlorw olleh'。但是代码输出应该是 'olleh dlrow'。
  • OP 的问题与stackoverflow.com/questions/25375794/… 不同,因为他们也希望颠倒单词的顺序。请忽略我重复的标志。

标签: python string functional-programming


【解决方案1】:

您想要的输出与您的需求描述冲突,即“如何反转字符串中单词的顺序以及反转单词中字母的顺序。”。这与反转字符串相同,您已经提供了作为解决方案的字符串。相反,要反转每个单词中的字母,但保留这些单词的顺序,您可以在每个单词上使用 split() 和反向切片 ([::-1])。

s = "Hello world"
for word in s.split():
    print word[::-1],

或者,像这样:

print ' '.join(word[::-1] for word in s.split())

以上假设您不需要保留单词之间的确切空格。

【讨论】:

    【解决方案2】:

    您可以尝试使用slice option

    def reverseOrder(strs):
    return ''.join([strs[i] for i in xrange(len(strs)-1, -1, -1)])
    

    或者最好试试这个:

    >>> s='Hello World'
    >>> ' '.join(w[::-1] for w in s.split())
    'olleH dlrow'
    

    【讨论】:

    • 我可以做这部分问题,但是输出需要是 'olleH dlrow' 而不是 'dlrow olleH'
    猜你喜欢
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多