如何在一個 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 中反轉字串的方法中,它提供了最快的結果。此方法非常容易實現,因為它只有一行程式碼,我們不需要從我們的角度實現任何邏輯。

更新日期: 2021 年 3 月 10 日

764 次瀏覽

啟動你的 職業生涯

透過完成這門課程獲得認證

開始學習
廣告
© . All rights reserved.