實現Python字符串反轉有4種方法:
1、列表的方式:
def rev(s):
a = list(s)
a.reverse()
return (''.join(a))
a = rev('huowuzhao')
print (a)
---------------------------------------------------------------------------------
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.py
oahzuwouh
Process finished with exit code 0
這種方法是采用列表的reverse方法,先將s轉換為列表,然后通過reverse方法反轉,然后在通過join連接為字符串。
reverse是把列表方向排序;
2、切片的方式:
*切片的方式最簡潔
def rev(s):
return (s[::-1])
a = rev('huowuzhao')
print (a)
---------------------------------------------------------------------------
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.py
oahzuwouh
這是采用切片的方法,設置步長為-1,也就是反過來排序。
這種方法是最簡潔的,也是最推薦的。
3、reduce:
from functools import reduce #因為我是用的是Python3.5,所以reduce函數需要引入
def rev(s):
return reduce(lambda x, y : y + x, s)
a = rev('huowuzhao')
print (a)
-----------------------------------------------------------------------------------------
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.py
oahzuwouh
4、還有一種類似切片的方法,不過稍微較前幾種稍微復雜點:
def rev(s):
str0 = ''
l = len(s)-1
while l >= 0:
str0 += s[l]
l -= 1
return (str0)
a = rev('huowuzhao')
print (a)
---------------------------------------------------------------------------------
C:\Users\Administrator\AppData\Local\Programs\Python\Python35\python.exe D:/pycharm/hello.py
oahzuwouh
這種方法是先設置一個str0的空變量,然后在s中從后往前取值,然后追加到str0中。
