Pythonでリストを空にする(クリアする)4つの方法を徹底解説
Pythonでは、リスト内のすべての要素を削除してリストを空にする方法が複数あります。本記事では、代表的な4つの手法——clear()メソッド、del文、*= 0による代入、そしてリストの再初期化——について、それぞれのコード例と実行結果とともにわかりやすく解説します。
1. clear()メソッドを使う方法
clear()はPythonの標準ライブラリに組み込まれたリスト用メソッドで、呼び出すだけでリストの中身を完全に空にできます。最もシンプルで直感的な方法です。
構文:
list_name.clear() # list_name には対象となるリスト名を指定します
コード例
以下の例では、曜日が格納されたリストに対してclear()を実行し、リストを空にしています。
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("既存のリスト\n", list)
# リストをクリア
list.clear()
print("クリア後のリスト\n")
print(list)
実行結果
既存のリスト ['Mon', 'Tue', 'Wed', 'Thu'] クリア後のリスト []
2. del文を使う方法
del文を使うと、指定したインデックスの要素だけを選択的に削除することも、すべての要素を一括で削除してリストを空にすることも可能です。柔軟性が高いのが特徴です。
構文:
del list_name
コード例
以下の例では、まずインデックス2の要素('Wed')を1つだけ削除し、その後スライス[:]を指定して全要素を削除しています。
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("既存のリスト\n", list)
# 要素を1つ削除
del list[2]
print("要素を1つ削除した後\n")
print(list)
# 全要素を削除
del list[:]
print("全要素を削除した後\n")
print(list)
実行結果
既存のリスト ['Mon', 'Tue', 'Wed', 'Thu'] 要素を1つ削除した後 ['Mon', 'Tue', 'Thu'] 全要素を削除した後 []
3. *= 0 を使う方法
*演算子はリストの繰り返しを表すため、*= 0と記述すると「リストを0回繰り返す」ことになり、結果としてすべての要素が削除され、リストは空になります。
コード例
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("既存のリスト\n", list)
# 全要素を削除
list *= 0
print("全要素を削除した後\n")
print(list)
実行結果
既存のリスト ['Mon', 'Tue', 'Wed', 'Thu'] 全要素を削除した後 []
4. リストの再初期化を使う方法
変数に空のリスト[]を再代入することでも、リストを空の状態にできます。ただしこの方法は新しい空のリストオブジェクトを作成して代入するため、元のリストオブジェクトを参照していた他の変数がある場合、その変数には古いデータが残る点に注意が必要です。
コード例
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("既存のリスト\n", list)
# 空のリストを再代入
list = []
print("全要素を削除した後\n")
print(list)
実行結果
既存のリスト ['Mon', 'Tue', 'Wed', 'Thu'] 全要素を削除した後 []
まとめ:どの方法を選ぶべきか?
clear():最も読みやすく意図が明確。通常はこの方法が推奨されます。del list[:]:元のリストオブジェクトを保持したまま空にしたい場合に有効。*= 0:動作しますが、可読性が低いため実務ではあまり使いません。- 再初期化(
list = []):シンプルですが、他の変数との参照関係に注意が必要です。
用途や状況に応じて適切な方法を選択し、効率的にリストを操作しましょう。
-
【Python入門】エスケープ文字をそのまま出力する方法をわかりやすく解説
この記事では、Pythonでエスケープ文字をそのまま出力(表示)する方法について解説します。エスケープ文字という言葉自体はご存じの方も多いと思いますが、まず初めに、まだ馴染みのない方のためにエスケープ文字の基本からおさらいしておきましょう。エスケープ文字とは?エスケープ文字とは、文字列の中で特別な意味を持つ記号のことです。たとえば、文字列に改行やタブなどを含めたい場合に、これらのエスケープ文字を使用します。まずは、代表的なエスケープ文字である改行コード「\n」を使った例を見てみましょう。例:改行(\n)の出力## 改行コードを含む文字列 new_line_string = Hi\nHow ar
-
Pythonでリストを出力する方法|インデックスの基本から実践的な出力テクニックまで
Pythonのリストとは? Pythonのリスト(list)は、複数の要素をひとつにまとめて管理できるデータ型です。リスト内の各要素は順序を持って格納されており、それぞれの位置(インデックス)を指定することで、任意の要素にアクセスできます。 インデックスは0から始まる リストのインデックスは0から始まる点に注意が必要です。つまり、最初の要素が list[0]、2番目の要素が list[1]、3番目の要素が list[2] に対応します。 例えば、以下のようなリストを考えてみましょう。 numbers = [10, 20, 50, 40] print(numbers[2]) # 出力結果:5