Python で文字列を反転する方法 (5 つの方法)
文字列は、順序付けされたリストまたは文字のシーケンスです。文字列は、Python に付属するデータ構造の 1 つです。 Python で文字列を操作しているとき、すべての文字を反転したい場合があります。良い例は、回文ゲームを構築している場合です。
反転された文字列では、最初の文字が最後の文字になります。ただし、Python には文字列を反転するための組み込み関数は付属していませんが、使用できるメソッドです。
このチュートリアルでは、Python で文字列を反転するさまざまな方法を学びます。
方法 1: For ループを使用して Python で文字列を反転する
文字列を反転する最初の方法は、以下のコード スニペットのように for ループを使用することです。
Python コード:
# function for reversing a string
def reverse_string(string):
# an empty string for storing reversed string
reversed_string = ""
# looping through the string
for char in string:
# reversing the string
reversed_string = char + reversed_string
# returning a reversed string
return reversed_string
# the string to reverse
string = "Guru99"
# printing a message
print(f"String Reversal using a for loop")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse_string(string)}")
出力:
String Reversal using a for loop
Original String: Guru99
Reversed String: 99uruG
コードの説明:
- このコード スニペットでは、指定された文字列を引数として受け取る文字列の反転に reverse_string() 関数を使用できます。
- その中で、反転した文字列を格納する空の文字列を作成し、その文字列をループします。
- 文字は反転され、reversed_string 変数に割り当てられます。
- 最後に、関数の最後の行は反転した文字列を返します。
- 出力を表示するには、f 文字列を使用して print() 関数内で関数呼び出しを行っています。
方法 2: While ループを使用して Python で文字列を反転する
Python で while ループを使用することも、文字列を反転する別の方法です。以下のコード スニペットを理解してみましょう。
Python コード:
# declaring a string to reverse
string = "Python"
# initializing an empty string to store the reversed string
reversed_string = ""
# printing a message
print(f"String Reversal using a while loop")
# printing the original string
print(f"Original String: {string}")
# find length of a string and store in count variable
count = len(string)
# a while loop for looping through the string characters
while count > 0:
# save the value of str[count-1] in reversed_string
reversed_string += string[count - 1]
# decrementing index
count = count - 1
print(f"Reversed String: {reversed_string}")
出力:
String Reversal using a while loop
Original String: Python
Reversed String: nohtyP
コードの説明:
- この Python コードでは、反転する文字列を宣言し、反転した文字列を格納する空の文字列を宣言しています。
- 次に、count 変数に割り当てられる文字列の長さを見つけます。
- すべての反復の string[count – 1] は、最後から最初の文字列を取得します。
- そして、それらをreversed_string に連結し、count 値をデクリメントします。
- 最後に、反転した文字列を出力します。
方法 3: スライサー演算子を使用した Python の文字列の反転
文字列を反転するもう 1 つの方法は、スライス演算子を使用することです。理解するには、以下のコードを参照してください。
Python コード:
# function to reverse a string
def reverse(string):
# the slice syntax
reversed_string = string[::-1]
return reversed_string
# declaring a string to reverse
string = "Let's guru99"
# printing a message
print(f"String Reversal using Slicer Operator")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")
出力:
String Reversal using Slicer Operator
Original String: Let's guru99
Reversed String: 99urug s'teL
コードの説明:
- 内部で文字列を引数として取るreverse()関数を作成するには
- この例では、文字列を反転するための文字列[::-1]スライス演算子があります。
- 次に、反転された文字列が reversed_string という新しい変数に割り当てられます。
- 最後に、新しい反転文字列が返されます。
方法 4: reversed() 関数を使用して Python で文字列を反転する
reversed() Python 関数を使用して文字列を反転することもできます。コードは次のようになります。
Python コード例:
# function to reverse a string
def reverse(string):
# reversed() function inside the join() function
string = "".join(reversed(string))
# returning the reversed string
return string
# declaring a string to reverse
string = "guru99"
# printing a message
print(f"String Reversal using reversed() function")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")
出力:
String Reversal using reversed() function
Original String: guru99
Reversed String: 99urug
コードの説明:
- このコードには、 引数が文字列であるreversed()関数があります。
- その中で、空の文字列を初期化しました。
- join() 関数を使用して、それを reversed(string) の出力と連結します。
- reversed() 関数の外側で、反転する文字列を宣言し、元の文字列と反転した文字列を出力しています。
方法 5: Python の再帰を使用した文字列の反転
再帰とは、定義された関数がそれ自体を呼び出すことを意味します。再帰関数は、それ自体を呼び出すときに再帰的であると言われます。これをよりよく理解するには、次のコード例を見てください。
Python コード:
# a function to reverse a string
def reverse(string):
# Checking the length of string
if len(string) == 0:
return string
# reversing string if len(string) != 0
else:
# recursively calling the reverse() function
return reverse(string[1:]) + string[0]
# declaring a string to reverse
string = "I love guru99"
# printing a message
print(f"String Reversal using Recursion")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")
出力:
String Reversal using Recursion
Original String: I love guru99
Reversed String: 99urug evol I
コードの説明:
- 上記のコードでは、 引数として文字列を取るreverse()関数を宣言しました。関数の本体はif elseです。 > という発言。
- if ステートメントは文字列の長さが 0 に等しいかどうかをチェックして文字列を返します。一方、else ステートメントは reverse() 関数を再帰的に呼び出します。文字列の最後のインデックスをスライスし、先頭に追加します。
結論
- この Python チュートリアルでは、Python のさまざまなメソッドを使用して文字列を反転する方法を説明しました。
- reverse_string() 関数を使用すると、指定された文字列を引数として文字列を反転できます。
- 逆撹拌には「forループ」と「whileループ」を使用することもできます。
- 文字列を引数として受け取る関数を反転して実行することができます。
- これらの方法を選択するときは、そのパフォーマンスを要素の 1 つとして考慮する必要があります。