Python での後方反復

数値の反復は、Python のループ手法によって行われます。 Python の多くのテクニックはループを容易にします。場合によっては、逆方向にループを実行する必要がある場合、そのために短い手が非常に便利です。これを実現する特定の方法について説明しましょう パイソン

逆方向反復とは何ですか?

Python における逆方向反復とは、最後の要素から最初の要素に移動しながら、シーケンスまたはコレクションを逆の順序で反復するプロセスを指します。これは、元の配置とは逆の順序で要素にアクセスする必要がある場合に便利です。 Python は、負のインデックスの使用や次のような組み込み関数の採用など、後方反復のためのさまざまなメカニズムを提供します。 reversed()>

Python における後方反復

Python では後方反復のさまざまな方法がありますが、ここでは Python で後方反復に使用する一般的に使用されるいくつかの方法について説明します。

  • reversed() メソッドの使用
  • range(N, -1, -1) の使用
  • スライス構文の使用
  • While ループの使用
  • join() 関数の使用

reversed() の使用 方法

これを実行する最も簡単な方法は、for ループに reverse 関数を使用することです。これにより、従来のカウントよりも後方から反復が開始されます。

Python3




# Initializing number from which> # iteration begins> N> => 6> # using reversed() to perform the back iteration> print> (> 'The reversed numbers are : '> , end> => '')> for> num> in> reversed> (> range> (N> +> 1> )) :> > print> (num, end> => ' '> )>

出力:

The reversed numbers are : 6 5 4 3 2 1 0 

時間計算量: O(N) (N は N の値)
補助スペース: 定数スペースとしての O(1) は、初期化と印刷に使用されます。

range(N, -1, -1) の使用

この特定のタスクは、3 番目の引数が指定されている場合はスキップを実行し、2 番目の引数を使用して後方から開始する従来の range 関数を使用して実行することもできます。

Python3




# Initializing number from which> # iteration begins> N> => 6> # without using reversed() to perform the back iteration> print> (> 'The reversed numbers are : '> , end> => '')> for> num> in> range> (N,> -> 1> ,> -> 1> ) :> > print> (num, end> => ' '> )>

出力:

The reversed numbers are : 6 5 4 3 2 1 0 

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

スライス構文の使用

この特定のタスクは、リストを反転するために使用されるスライス構文を使用して実行することもできます。 for ループで範囲クラスを逆にするためにこれを使用し、その後、逆方向の反復を実行しました。

Python3




# # Initializing number from which> # # iteration begins> N> => 6> # Using slice syntax perform the backward iteration> k> => range> (N> +> 1> )[::> -> 1> ]> print> (> 'The reversed numbers are : '> ,end> => '')> for> i> in> k:> > print> (i, end> => ' '> )>

出力:

The reversed numbers are : 6 5 4 3 2 1 0 

While ループの使用

ここでコードは、Python での逆方向反復を示しています。初期化された数値 `N` (6) から開始し、while ループを使用して 0 になるまで数値を逆順に出力します。

Python3




# Initializing number from which> # iteration begins> N> => 6> print> (> 'The reversed numbers are : '> , end> => '')> while> (N>>> => 0> ):> > print> (N, end> => ' '> )> > N> -> => 1>

出力:

The reversed numbers are : 6 5 4 3 2 1 0 

join() 関数の使用

ここで、コードは、指定された入力数値から開始して、Python で逆方向反復を実行します。 N> (6)。文字列を作成します reversed_str> 逆の数値を連結することにより、 N> 0、スペースで区切ります。の join()> 関数を使用して、数値の範囲を反転して文字列に変換し、結果を出力します。

Python3




# Given input> N> => 6> # Concatenating reversed numbers as a string using join() function> reversed_str> => ' '> .join(> map> (> str> ,> reversed> (> range> (N> +> 1> ))))> # Printing the reversed numbers as a string> print> (> 'The reversed numbers are :'> , reversed_str)>

出力:

The reversed numbers are : 6 5 4 3 2 1 0 

時間計算量: O(N): ここで、N は指定された入力の値です。逆の範囲は O(N) 時間の計算量で生成され、map() 関数を使用して各数値を文字列に変換するには O(N) 時間の計算量がかかります。 join() 関数は、逆数を文字列として連結するのに O(N) 時間かかります。

補助スペース:O(N) : ここで、N は指定された入力の値です。反転された数値範囲と反転された数値の連結文字列は、メモリ内の O(N) スペースを占有します。