そもそも論
Pythonのリストの要素を逆順に並べ替える方法はいくつあるのか?
基本的には reverseメソッドを使うぐらいかもしれない。
今回、プログラムを勉強するにあたっていくつあるのか?考えてみた。
1.オーソドックスなreverseメソッドを使う方法
llist = [1,2,3,4,5]
result = llist.reverse()
print(result) #5,4,3,2,1
reserseメソッドはインプレースでリストの要素を並べ替え
2.revesed関数を使う方法
llist = [1,2,3,4,5]
result = list(reversed(llist))
print(result) #5,4,3,2,1
reserved関数の戻り値がリストではなくイテレータであること
3.スライスを使う方法
llist = [1,2,3,4,5]
result = llist[::-1]
print(result) #5,4,3,2,1
開始位置と終了位置を省略して、差分を-1にすることで逆順に並んだ要素を取得することを意味します。
4.内包表記を使う
llist = [1,2,3,4,5]
result = [llist[-index] for index in range(1,len(llist) + 1)]
print(result) #5,4,3,2,1
len関数でリストの要素数を調べて、range関数で1始まりのインデクスを反復
そして、マイナスのインデックとして指定することで末尾から要素を取り出していく