在 Python 中反轉字串
Azaz Farooq
2023年1月30日
2021年2月28日
本文將介紹一些在 Python 中反轉字串的方法。
在 Python 中使用切片方法反轉字串
這個方法使用分片操作符:
來反轉字串。分片的起始索引是最後一個元素的索引,結束索引是第一個元素的索引(在這種情況下也可以省略)。步長為 -1
,表示切片以步長為 1 向後退。
完整的示例程式碼如下。
str="LearnPython"
length_str=len(str)
sliced_str=str[length_str::-1]
print ("The sliced string is:",sliced_str)
輸出:
The sliced string is: nohtyPnraeL
在 Python 中使用迴圈反轉字串
在這個方法中,首先,我們建立一個空字串來儲存反轉的字串。給定字串的長度作為索引儲存在 i
變數中。while
迴圈一直持續到索引大於 0 為止。
完整的示例程式碼如下。
str = "LearnPython"
string_reversed=[]
i = len(str)
while i > 0:
string_reversed += str[i-1]
i = i - 1 # decrement index
print("The Reversed String is", string_reversed)
string_reversed += str[i-1]
語句將 str[i-1]
的值儲存在反轉的字串中。i=i-1
遞減索引,直到到達字串的開頭。
輸出:
The Reversed String is ['n', 'o', 'h', 't', 'y', 'P', 'n', 'r', 'a', 'e', 'L']
在 Python 中使用 reversed()
函式反轉字串
reversed()
函式給出給定字串的反向迭代器。它的元素通過使用 join()
方法由空字串連線。
完整的示例程式碼如下。
str = "LearnPython"
reversed_string=''.join(reversed(str))
print("The Reversed String is", reversed_string)
join()
方法將反轉迭代產生的所有字元合併成一個新的字串。
輸出:
The Reversed String is nohtyPnraeL
在 Python 中使用遞迴方法反轉字串
我們可以使用遞迴函式對字串進行反轉。基本條件是,如果字串長度等於 0,則返回字串,如果不等於 0,則遞迴呼叫反轉函式,除了第一個字元外,對字串部分進行切分,並將第一個字元連線到切分後的字串末尾。
完整的示例程式碼如下。
def reverse_string(string):
if len(string) == 0:
return string
else:
return reverse_string(string[1:]) + string[0]
string = "LearnPython"
print ("The original string is : ",end="")
print (string)
print ("The reversed string is : ",end="")
print (reverse_string(string))
輸出:
The original string is : LearnPython
The reversed string(using loops) is : nohtyPnraeL