Pythonが逆順に繰り返すこと

774 ワード

Pythonで遍歴するには,一般に1つのリストやstringでfor loopで左から右へループするが,アルゴリズムの考慮から右から左へループする必要がある場合がある.この時はreversed loopが役に立ちます.loopオブジェクトによっては、主に3つのケースがあります.
  • 直接インライン関数reversed(list)
  • for i in reversed(list obj)
    
  • リストオブジェクトのインデックスindexで
  • を位置決めする
    n = len(list)
    for i in list[::-1]
    

    ここの2つのコロンは実は2つのパラメータを省略して、完全な形式は:
    n = len(list)
    for i in list[n-1::-1]
    

    特に、2番目のコロンの前のデフォルト値に注意してください.何も記入しない場合は、リストのindex=0の位置まで遍歴します.0を入力すると、デフォルトはリストのindex=1の位置まで移動し、1を入力すると、デフォルトはリストのindex=2の位置まで移動し、順次後になります.最初のコロンの前のデフォルト値は、index=n-1の位置(リストの末尾)から数えられ、何番目のインデックスから埋められます.n−1よりも大きい値を記入することもできるが,最後のビットから遍歴する.
  • range()で
  • と書く
    for i in range(n, m, -1)
    

    すなわち,n値から逆数を開始し,m+1が停止するまで数える.