Python はリストを後方に反復する
-
Python で
reversed()
関数を使用してリストを逆の順序でトラバースする -
Python で
range()
関数を使用してリストを逆の順序でトラバースする -
Python で
for
ループを使用してリストを逆の順序でトラバースする
このチュートリアルでは、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]
は、ループのためだけにリストを逆にスライスするだけであることに注意してください。したがって、永続的に提供されるデータまたはリストの配列を変更または変更することはありません。