Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonプログラムで文字列を逆にする方法は?


Pythonには、文字列を逆にする関数が組み込まれていません。したがって、文字列を逆にするために独自のロジックを実装する必要があります。

さまざまな方法を使用して文字列を反転します。

FORループの使用

この方法の背後にある考え方は、文字列の最後のインデックスから0番目のインデックスまでの逆ループを使用することです。各反復で、反復の最後に反転された文字列を保持するために文字列の文字を追加します。

従う一般的な手順を見てみましょう-

  • a:=新しい文字列

  • 文字列の最後のインデックスから0番目のインデックスにループし、現在のインデックスで1 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ループを使用し、新しい文字列の先頭に各文字を追加します。

新しい文字列の各文字を追加すると、逆の文字列が得られます。各ループの代わりに、インデックス0から文字列の長さまでの通常のループを使用できます。

def reverse(s):
   a=""
   for i in s:
      a=i+a
   return a
string="TutorialsPoint"
print(reverse(string))

出力

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

Whileループの使用

forループをwhileループに置き換えることができます。最後のインデックスから0番目のインデックスまでwhileループを繰り返し、現在のインデックスの各文字を新しい文字列の最後に連結して、逆の文字列を取得します。

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

拡張スライス構文の使用

拡張スライス構文には、[starts、end、step]の3つのパラメーターがあります。デフォルトで開始と終了としてフィールドを指定しない場合は、開始として0を意味し、終了として文字列の長さを意味します。ステップを「-1」として指定すると、終了から開始して開始で停止することを意味します。したがって、逆の文字列を取得します。

>

def reverse(s):
   a=s[::-1]
   return a
string="TutorialsPoint"
print(reverse(string))
Using join and reversed()

出力

INPUT : TutorialsPoint
OUTPUT : tnioPslairotuT

reverse()を使用して関数を逆にすることができます。ただし、逆関数は逆イテレータを返します。したがって、文字列を取得するには、逆イテレータの文字を結合する必要があります。

joinと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で文字列を逆にする5つの異なる方法について説明しました。

使用するのに最も速くて最良の方法はどれですか?

文字列を反転するために使用する最も速くて最良の方法は、スライシング(方法3)を使用することです。 Pythonで文字列を逆にするすべてのメソッドの中で最速の結果が得られます。このメソッドは、コードが1行しかないため、実装が非常に簡単で、ロジックを実装する必要がありません。


  1. Androidで文字列を逆にする方法は?

    この例は、Androidで文字列を逆にする方法を示しています ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "https://schemas

  2. Pythonプログラムを実行する方法は?

    コードを記述したら、コードを実行して実行し、出力を取得する必要があります。プログラムを実行すると、コードが正しく記述され、目的の出力が生成されるかどうかを確認できます。 Pythonプログラムの実行は非常に簡単な作業です。 IDLEで実行 IDLEでPythonプログラムを実行するには、指定された手順に従います- Pythonコードを記述して保存します。 プログラムを実行するには、[モジュールの実行]に移動します または、F5をクリックするだけです。 コマンドラインで実行 Pythonスクリプトファイルは「.py」拡張子で保存されます。 Pythonスクリプトを保存したら