关于字符串:如何在python中反转单词

How to reverse words in Python

本问题已经有最佳答案,请猛点这里访问。

如何在python中反转单词?

例如:

1
2
3
4
5
6
SomeArray=('Python is the best programming language')
i=''
for x in SomeArray:
      #i dont know how to do it

print(i)

结果必须是:

1
egaugnal gnimmargorp tseb eht si nohtyP

请帮忙。并解释。PS:我不能用[::-1]。我知道这件事。我必须在面试中这样做,只使用循环:)


1
2
3
>>> s = 'Python is the best programming language'
>>> s[::-1]
'egaugnal gnimmargorp tseb eht si nohtyP'

UPD:

如果需要在循环中执行此操作,则可以使用"范围"来向后执行:

1
2
3
4
5
6
>>> result =""
>>> for i in xrange(len(s)-1, -1, -1):
...     result += s[i]
...
>>> result
'egaugnal gnimmargorp tseb eht si nohtyP'

或者,reversed()

1
2
3
4
5
6
>>> result =""
>>> for i in reversed(s):
...     result += i
...
>>> result
'egaugnal gnimmargorp tseb eht si nohtyP'


使用切片表示法:

1
2
3
4
>>> string ="Hello world."
>>> reversed_string = string[::-1]
>>> print reversed_string
.dlrow olleH

你可以在这里了解更多关于切片的信息。


python中的字符串是字符数组,所以您只需向后遍历数组(字符串)。您可以很容易地这样做:

1
"Python is the best programming language"[::-1]

这将返回"egaugnal gnimmargorp tseb eht si nohtyP"

[::-1]从头到尾遍历一个数组,一次遍历一个字符。