この記事では、Pythonで文字列を反転させる方法を解説していきます。
Pythonで文字列を反転させる方法とは?
Pythonは文字列を反転させるreverse()などの文字列関数をサポートしていません。
つまり、自分で文字列反転を自作する必要があるわけですが、Pythonにおける文字列反転方法は、下記のとおりです。
- forループを使う
- whileループを使用した場合
- slice(スライシング)を使用します。
-
join()
メソッドを使用します。 - 再帰を使用する
- リスト
reverse()
メソッドを使用します。
以下はそれぞれの方法を解説していきます。
forループを使って文字列を逆順にする
def rev_string_loop(s):
res = ''
for x in s:
res = x + res
return res
str = 'STRING'
print(rev_string_loop(str))
結果は、以下の通りになります。
GNIRTS
whileループを使って文字列を逆順にする
def rev_string_loop(x):
res = ''
length = len(x)- 1
while length >= 0:
res = res + x[length]
length = length - 1
return res
str ='STRING'
print(rev_string_loop(str))
結果は、以下の通りになります。
GNIRTS
スライシングを利用した文字列の反転
input ="STRING"
length = len(input)
res = input[length::- 1 ]
print(res)
結果は、以下の通りになります。
GNIRTS
join()メソッドで文字列を反転させる
input ='STRING'
result =''.join(reversed(input))
print(result)
結果は、以下の通りになります。
GNIRTS
再帰を使って文字列を逆順にする
def rev_string(x):
if len(x) == 0:
return x
else:
return rev_string(x[1:]) + x[ 0 ]
x = "STRING"
print(rev_string(x))
結果は、以下の通りになります。
GNIRTS
reverse()メソッドで文字列を反転させる
input_list = [ 1 , 2 , 3 , 4 , 5 ]
input_list.reverse()
print(input_list)
結果は、以下の通りになります。
[5, 4, 3, 2, 1]