如何在一個 Python 程式中反轉字串?
Python 沒有反轉字串的內建函式。因此,我們需要實現自己的邏輯才能反轉一個字串。
我們將使用不同的方法來反轉字串。
使用 FOR 迴圈
此方法背後的思想是使用一個從字串的最後一個索引到第 0 個索引的反向迴圈。在每個迭代中,我們將字串的字元新增到在迭代結束時儲存反轉字串中。
讓我們看一下我們將遵循的一般流程 -
a:=new string
從字串的最後一個索引迴圈到第 0 個索引並遞減 1 a=a+當前索引處的字元
返回 a
示例
def reverse(s): a="" last_index=len(s)-1 for i in range(last_index,-1,-1): a=a+s[i] return a string="TutorialsPoint" print(reverse(string))
輸出
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
對上述方法的詳細實現如下 -
在這裡,我們使用 for each 迴圈並將每個字元附加到新字串的開頭。
將新字串的每個字元附加給我們反轉後的字串。除了 for each 迴圈,我們可以使用從索引 0 到字串長度的正常迴圈。
示例
def reverse(s): a="" for i in s: a=i+a return a string="TutorialsPoint" print(reverse(string))
輸出
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
使用 While 迴圈
我們可以用 while 迴圈替換 for 迴圈。我們將從最後一個索引迭代到第 0 個索引,並將當前索引處的每個字串聯至新字串的末尾以獲得反轉後的字串。
示例
def reverse(s): a="" i=len(s)-1 while(i>=0): a=a+s[i] i-=1 return a string="TutorialsPoint" print(reverse(string))
輸出
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
使用擴充套件切片語法
擴充套件切片語法有三個引數,[開始,結束,步長]。如果沒有將任何欄位指定為開始和結束,則預設意味著 0 為開始,字串長度為結束。將步長指定為“-1”意味著從末尾開始並停止在開始處。因此,我們得到了反轉後的字串。
示例
def reverse(s): a=s[::-1] return a string="TutorialsPoint" print(reverse(string)) Using join and reversed()
輸出
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
我們可以使用 reversed() 反轉函式。但反轉函式返回反轉後的迭代器。因此,我們需要連線反轉後的迭代器的字元以獲得一個字串。
使用連線和 reversed()
示例
def reverse(s): a="".join(reversed(s)) return a string="TutorialsPoint" print(reverse(string))
輸出
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
使用遞迴
我們可以使用遞迴反轉字串。我們將遞迴呼叫反轉函式,將字串從索引 1 傳遞到最後一個索引。因此,我們將持續縮短字串的長度直到 0,這是我們返回字串的基本情形。因此,在每次遞迴呼叫中,我們將字串從索引 1 切片到最後一個索引,並將第一個字串聯至被切片字串的末尾。
示例
def reverse(s): if(len(s)==0): return s else: return reverse(s[1:])+s[0] string="TutorialsPoint" print(reverse(string))
輸出
INPUT : TutorialsPoint OUTPUT : tnioPslairotuT
這些是在 Python 中反轉字串的一些方法。我們討論了在 Python 中反轉字串的五種不同方法。
什麼是最快、最好的使用方式?
用於反轉字串的最快速、最好的方法是使用切片(方法 3)。在所有在 Python 中反轉字串的方法中,它提供了最快的結果。此方法非常容易實現,因為它只有一行程式碼,我們不需要從我們的角度實現任何邏輯。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP