logo

Python で文字列を反転する (6 つの異なる方法)

Python 文字列ライブラリは組み込みの 逆行する() list などの他の Python コンテナーで行われるのと同様なので、文字列を反転する他の方法を知っておくと役立つことがわかります。この記事では、それを実現するためのいくつかの方法について説明します。 パイソン

例:

  Input:    Geeksforgeeks   Output:   skeegrofskeeG>

ループを使用して Python で文字列を反転する

この例では、文字列を反転する関数を呼び出します。これは、すべての要素に対して反復処理され、インテリジェントに実行されます。 各文字の先頭に結合します 反転した文字列を取得します。



時間計算量: O(n)
補助スペース: O(1)

実装:

Python3




def> reverse(s):> >str> => ''> >for> i>in> s:> >str> => i>+> str> >return> str> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using loops) is : '>, end>=>'')> print>(reverse(s))>

>

>

出力

The original string is : Geeksforgeeks The reversed string(using loops) is : skeegrofskeeG>

Python で再帰を使用して文字列を反転する

文字列は引数として 再帰関数 文字列を反転します。この関数の基本条件は、文字列の長さが 0 に等しい場合に文字列が返されることです。 0 に等しくない場合は、reverse 関数が再帰的に呼び出され、最初の文字を除く文字列の部分がスライスされ、最初の文字がスライスされた文字列の末尾に連結されます。 「

実装:

Python3




bashのforループ
def> reverse(s):> >if> len>(s)>=>=> 0>:> >return> s> >else>:> >return> reverse(s[>1>:])>+> s[>0>]> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using recursion) is : '>, end>=>'')> print>(reverse(s))>

>

>

出力

The original string is : Geeksforgeeks The reversed string(using recursion) is : skeegrofskeeG>

時間計算量 : O(n)、再帰を逆にする場合
補助スペース : O(n)、再帰呼び出しスタックの場合

スタックを使用してPythonで文字列を反転する

空っぽ 時間計算量: O(n)
補助スペース: O(n)

実装:

Python3




# Function to create an empty stack. It> # initializes size of stack as 0> def> createStack():> >stack>=> []> >return> stack> # Function to determine the size of the stack> def> size(stack):> >return> len>(stack)> # Stack is empty if the size is 0> def> isEmpty(stack):> >if> size(stack)>=>=> 0>:> >return> true> # Function to add an item to stack . It> # increases size by 1> def> push(stack, item):> >stack.append(item)> # Function to remove an item from stack.> # It decreases size by 1> def> pop(stack):> >if> isEmpty(stack):> >return> >return> stack.pop()> # A stack based function to reverse a string> def> reverse(string):> >n>=> len>(string)> ># Create a empty stack> >stack>=> createStack()> ># Push all characters of string to stack> >for> i>in> range>(>0>, n,>1>):> >push(stack, string[i])> ># Making the string empty since all> ># characters are saved in stack> >string>=> ''> ># Pop all characters of string and put> ># them back to string> >for> i>in> range>(>0>, n,>1>):> >string>+>=> pop(stack)> >return> string> # Driver code> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using stack) is : '>, end>=>'')> print>(reverse(s))>

>

>

マドゥバラ
出力

The original string is : Geeksforgeeks The reversed string(using stack) is : skeegrofskeeG>

拡張スライスを使用してPythonで文字列を反転する

拡張スライスでは、ステップフィールドを次のように配置できます。 [スタート、ストップ、ステップ] 、開始および終了としてフィールドを指定しない場合は、デフォルトがそれぞれ 0 と文字列長であることを示します。 -1 は、末尾から開始して先頭で停止することを示し、したがって文字列を反転します。

時間計算量 : の上)
補助スペース :O(1)

実装:

Python3




# Function to reverse a string> def> reverse(string):> >string>=> string[::>->1>]> >return> string> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using extended slice syntax) is : '>, end>=>'')> print>(reverse(s))>

>

>

出力

The original string is : Geeksforgeeks The reversed string(using extended slice syntax) is : skeegrofskeeG>

reversed() メソッドを使用して Python で文字列を反転する

反転() 指定された文字列の反転反復子を返し、その要素は join() を使用して分離された空の文字列に結合されます。そして逆順の文字列が形成されます。

時間計算量 : の上)
補助スペース : の上)

実装:

Python3




# Python code to reverse a string> # using reversed()> # Function to reverse a string> def> reverse(string):> >string>=> ''.join(>reversed>(string))> >return> string> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using reversed) is : '>, end>=>'')> print>(reverse(s))>

>

>

出力

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>

list comprehension() を使用して Python で文字列を反転する

リスト内包表記では、文字列の要素のリストを逆順に作成し、その要素を次の方法で結合します。 参加する() 。そして逆順の文字列が形成されます。

時間計算量: O(n)
補助スペース: O(1)

実装:

Python3




# Function to reverse a string> def> reverse(string):> >string>=> [string[i]>for> i>in> range>(>len>(string)>->1>,>->1>,>->1>)]> >return> ''.join(string)> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, s)> print>(>'The reversed string(using reversed) is : '>, reverse(s))>

リティク・ローシャン
>

>

出力

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>

関数呼び出しを使用してPythonで文字列を反転する

文字列をリストに変換してから反転し、再度文字列に変換することで、文字列を反転する関数。

時間計算量: O(n)
補助スペース: O(1)

実装:

Python3




# Function to reverse a string> # by converting string to list> # then reversed it and again convert it to string> def> reverse(string):> >string>=> list>(string)> >string.reverse()> >return> ''.join(string)> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, s)> print>(>'The reversed string(using reversed) is : '>, reverse(s))> # This code is contributed by Susobhan AKhuli>

>

>

出力

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>