2014-05-08 142 views
2

我想反转字符串的顺序。例如:“乔红”=“红乔” 我相信反向方法不会帮助我,因为我不想反转每个字符,只是切换单词反向字符串顺序

+0

可能重复[你如何反转字符串中的单词使用python(手动)?](http://stackoverflow.com/questions/7694977/how-do-you-reverse-the-words-in- a-string-using-python-manually) –

+0

[反转字符串中单词的排序]的可能重复(http://stackoverflow.com/questions/1009160/reverse-the-ordering-of-words-in-a -string) – Ffisegydd

回答

6

首先,您需要定义“字”。我假设你只想用空格分隔字符串。在这种情况下,我们可以这样做:

' '.join(reversed(s.split())) 

注意,这将删除前导/尾随空格,而且任何连续的空格的运行转换为单个空格字符。

演示:

>>> s = "Red Joe" 
>>> ' '.join(reversed(s.split())) 
'Joe Red' 
>>> 
+0

哇,谢谢!现在就试试吧 – Joseph

0
string ="joe red" 
string = string.split() 
print " ".join(string[::-1]) 
2

试试这个代码

s = "Joe Red" 
print ' '.join(s.split()[::-1]) 
1

试试这个,

>>> s= "Joe Red" 
>>> words = s.split() 
>>> words.reverse() 
>>> print ' '.join(words) 
Red Joe 
>>> 
0
s = "Joe Red" 
s= s.split() 
c = s[-1]+" "+s[0] 

ç举办的 “红乔”。

+0

如果是“joe red ram”会怎么样 –

+0

通过以相反顺序放置for循环来连接字符串!感谢-1! –

+0

@ user3193036 - 但公平地说,你没有提到这是你答案的一部分,即使你做了,在for循环中重复连接导致二次时间复杂性。它可能(或不可能)在这里重要,但是,这就是为什么其他使用'str.join'的回答在Python中更普遍的习惯用法。而且,由于它们是更常见的成语,对于一段时间以来一直在使用该语言的人来说,它们更容易阅读/理解。 – mgilson