Pythonで配列を逆順にする3つの方法を解説

Python

Pythonで配列を逆順にする方法は複数あります。本記事では、利用頻度の高い3つの方法の説明と、それらの使い分けについて解説します。

配列を逆順にする方法

スライス[::-1]

スライス構文を使うと簡単に逆順のリストを作れます。新しいリストを返すため、元のリストは変更されません。

arr = [1,2,3,4,5]
reversed_arr = arr[::-1]
print(reversed_arr) # [5,4,3,2,1]
print(arr) # [1,2,3,4,5] (元のリストはそのまま)

reversed()

reversed()関数はイテレータを返すため、list()でリスト化して利用します。スライス同様、元のリストは変更されません。

arr = [1,2,3,4,5]
iterator = reversed(arr)
reversed_arr = list(iterator)
print(iterator) # <list_reverseiterator object at 0xxxxxxxxx>
print(reversed_arr) # [5,4,3,2,1]
print(arr) # [1,2,3,4,5]

reverse()

reverse()メソッドは元のリストを直接反転します。新しいリストは返されず、元のリストは失われる破壊的変更である点に注意が必要です。

arr = [1,2,3,4,5]
arr.reverse()
print(arr) # [5,4,3,2,1](元のリストが反転している)

使い分け

  • 元のリストを変更せずに逆順の結果だけが欲しいなら、スライス[::-1]reversed()を使う
  • 元のリストを直接反転したいならreverse()を使う

まとめ

Pythonで配列を逆順にする主な方法は、スライス[::-1]、reversed()、reverse()の3つです。元のリストを変更したいかどうかなど、用途に応じて使い分けましょう。

タイトルとURLをコピーしました