Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリストを逆順にする3つの方法:reverse()、スライス、reversed()の使い方

Pythonでは、リストの要素順序を逆にするためにいくつかの方法が用意されています。用途に応じて「元のリストを直接変更する」か「新しいリストを作成する」かを選べます。ここでは代表的な3つの方法を紹介します。

1. reverse()メソッドでその場(in-place)で反転する

リストクラスが持つ reverse() メソッドを使うと、元のリスト自体を直接逆順に並べ替えることができます。新しいリストは作成されず、メモリ効率が良いのが特徴です。

コード例

a = [3, "Hello", 2, 1]
a.reverse()
print(a)

出力結果

[1, 2, 'Hello', 3]

この方法は元のリストが書き換えられるため、元の順序を保持したい場合には注意が必要です。

2. スライス [::-1] を使って新しいリストを作成する

元のリストを変更せずに、逆順の新しいリストが欲しい場合は、スライス記法 [::-1] を使うのが簡単です。これは「開始位置と終了位置を省略し、ステップを -1 にする」という意味になります。

コード例

a = [3, "Hello", 2, 1]
print(a[::-1])

出力結果

[1, 2, 'Hello', 3]

スライスは簡潔で読みやすく、Pythonらしい書き方として広く使われています。

3. reversed()関数を使う

reversed() 組み込み関数も、元のリストを変更せずに逆順を取得できる方法です。reversed() はイテレータを返すため、リストとして扱いたい場合は list() で変換します。

コード例

a = [3, "Hello", 2, 1]
rev_a = list(reversed(a))
print(rev_a)

出力結果

[1, 2, 'Hello', 3]

使い分けのポイント

  • reverse():元のリストを直接書き換えてよい場合に最適
  • [::-1]:簡潔に新しいリストを作りたい場合に便利
  • reversed():イテレータとして処理したい場合や、forループで逆順に回したい場合に有効

状況に応じてこれらの方法を使い分けることで、より可読性が高く効率的なPythonコードを書くことができます。

  1. Pythonでディレクトリの中身を一覧表示する方法【os.listdirの使い方】

    Pythonでディレクトリ内のファイルやサブディレクトリを一覧表示したい場合、標準ライブラリの os モジュールに含まれる os.listdir() 関数を使うのが最も基本的な方法です。この関数は、指定したパス内にあるすべてのファイルとディレクトリの名前をリスト形式で返します。os.listdir() の基本例使い方は非常にシンプルです。引数にディレクトリのパスを渡すだけで、その中身が一覧表示されます。>>> import os >>> os.listdir(.) [DLLs, Doc, etc, include, Lib, libs, LICENSE.tx

  2. Pythonで文字列を逆順にする方法|スライスとreversed()の使い方を解説

    Pythonでは、文字列スライスやrange演算子を活用することで、文字列を簡単に逆順(反転)にすることができます。この記事では、代表的な2つの方法をわかりやすく解説します。 方法1:スライス記法 [::-1] を使う(推奨・高速) 最もシンプルで一般的なのが、スライス記法を使う方法です。ステップに -1 を指定するだけで、文字列を後ろから前へ一文字ずつ取り出せます。 >>> Hello[::-1] olleH >>> Halloween[::-1] neewollaH スライスの仕組み 角括弧 [] の中には、コロン「:」で区切った3つの値を指定できます