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 lengthlist_len = len(input)
# i goes from 0 to the middlefor 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 reversedprint(input)
|
結果を出力すると、以下の様になります。
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
まとめ
このように、今回はPythonでリストを逆引きする様々なテクニックを理解し、実装してきました。