Python はリストを後方に反復する

Niket Gandhir 2023年10月10日
  1. Python で reversed() 関数を使用してリストを逆の順序でトラバースする
  2. Python で range() 関数を使用してリストを逆の順序でトラバースする
  3. Python で for ループを使用してリストを逆の順序でトラバースする
Python はリストを後方に反復する

このチュートリアルでは、Python でリストを逆の順序でトラバースするために使用できるさまざまな方法について説明します。

Python で reversed() 関数を使用してリストを逆の順序でトラバースする

利用可能な組み込みの reversed() 関数を使用して、Python でリストを逆の順序でトラバースできます。reversed() 関数は、入力として提供されたシーケンスの逆反復を返します。

reversed() 関数は、逆にするシーケンスである単一のパラメーターを受け入れます。シーケンスには、タプル、文字列、リスト、範囲などを指定できます。

例えば、

x = ["my", "unlimited", "sadness"]
for i in reversed(x):
    print(i)

出力:

my
sadness
unlimited

ただし、シーケンスの元のインデックスにもアクセスするには、リストの enumerate() 関数を使用してから、reversed() 関数に渡します。

次のコードを参照してください。

x = ["my", "unlimited", "sadness"]
for i, e in reversed(list(enumerate(x))):
    print(i, e)

出力:

2 sadness
1 unlimited
0 my

したがって、シーケンスの元のインデックスを使用して出力を取得します。ただし、enumerate() はジェネレーターを返し、ジェネレーターを元に戻すことはできないことに注意してください。したがって、最初にリストに変換することが重要です。

Python で range() 関数を使用してリストを逆の順序でトラバースする

Python でシーケンスを逆の順序でトラバースする別の方法は、使用可能な range 関数を使用することです。

Python で使用可能な range 関数は、デフォルトで 0 から始まる一連の数値を返します。これは、追加の 1(デフォルト)で自動的にインクリメントされます。

range 関数は、start(オプション)、stop(必須)、step(オプション)の 3つの異なるパラメーターを受け入れます。3つのパラメーターはすべて、入力として整数を受け入れます。

次のコードを参照してください。

x = ["my", "unlimited", "sadness"]
for i in range(len(x) - 1, -1, -1):
    print(i, x[i])

出力:

3 sadness
2 unlimited
1 my

したがって、上記のように、シーケンスの元のインデックスを使用して、シーケンスを逆の順序でトラバースできます。

Python で for ループを使用してリストを逆の順序でトラバースする

for ループを使用すると、Python でリストを逆の順序でトラバースできます。リスト、タプル、文字列などのシーケンスを繰り返し処理します。

以下に示すように、これを使用してリストを逆の順序でトラバースできます。

x = ["my", "unlimited", "sadness"]
for item in x[::-1]:
    print(item)

出力:

sadness
unlimited
my

上記のコードの [::-1] は、ループのためだけにリストを逆にスライスするだけであることに注意してください。したがって、永続的に提供されるデータまたはリストの配列を変更または変更することはありません。

関連記事 - Python List