Pythonはリストの要素を逆順にする方法を複数提供しています。
Python 逆引きリスト要素
Python の List を逆順にするには、以下のテクニックを使用します。
- reversed() 関数の使用によるもの
- reverse()関数を使用します。
- スライシングの利用
- forループとrange()関数の使用によるものです。
1. reversed() 関数
reversed()` メソッドはリストを逆順にたどるイテレータを生成します。
def reverse_list( input ):
return [x for x in reversed ( input )]
input = [ 0 , 22 , 78 , 1 , 45 , 9 ]
print (reverse_list( input ))
|
結果を出力すると、以下の様になります。
[9, 45, 1, 78, 22, 0]
2. reverse()関数
reverse()`関数は、要素を別のリストにコピーしてから反転させる代わりに、要素を反転させて同じリスト内に格納する機能を提供します。
def reverse_list( input ):
input .reverse()
return input
input = [ 0 , 22 , 78 , 1 , 45 , 9 ]
print (reverse_list( input ))
|
結果は以下の通りです。
[9, 45, 1, 78, 22, 0]
この記事もチェック:Pythonのsample関数を使ってリストからランダムに要素を抽出する方法
3. スライシングテクニック
スライシングテクニックは、リストを反転させる機能を提供します。
def reverse_list( input ):
output = input [:: - 1 ]
return output
input = [ 0 , 22 , 78 , 1 , 45 , 9 ]
print (reverse_list( input ))
|
結果は以下の通りです。
[9, 45, 1, 78, 22, 0]
4. forループとrange()関数の使用により
input = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
# Get list length list_len = len ( input )
# i goes from 0 to the middle for x in range ( int (list_len / 2 )):
n = input [x]
input [x] = input [list_len - x - 1 ]
input [list_len - x - 1 ] = n
# At this point the list should be reversed print ( input )
|
結果を出力すると、以下の様になります。
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
まとめ
このように、今回はPythonでリストを逆引きする様々なテクニックを理解し、実装してきました。