Python文字列反転

786 ワード

パフォーマンスの最適化
スライスを使用する推奨方法:
def reverse_str(str):
    return str[::-1]

読みやすさが強い
def reverse_strr(str):
    return ''.join(reversed(str))

ちゅうかんモーメント
def reverse_str(str):
    new_str = []
    index = len(str)
    while index:
        index -= 1                       
        new_str.append(str[index])
    return ''.join(new_str)

パフォーマンスが最悪
Pythonの文字列は可変ではないことを覚えています.次のアルゴリズムに対して、一見new_のように見えます.stringに文字を追加しますが、理論的には毎回新しい文字列を作成します!(ある程度、各IDEはある程度これに対して一定のコンパイル最適化を行う場合があります)
def reverse_str(str):
    new_str = ''
    index = len(str)
    while index:
        index -= 1                    
        new_str += str[index]
    return new_str