Python 速習チュートリアル

Python リスト要素の削除

1. 指定した項目を削除する

リストから特定の値を指定して要素を削除するには、いくつかの方法があります。

1.1 remove() メソッド

remove() メソッドは、指定した値と一致する最初の要素を削除します。

thislist = ["リンゴ", "バナナ", "チェリー"]
thislist.remove("バナナ")
print(thislist)

1.2 重複する項目がある場合

削除したい値がリスト内に複数存在する場合、remove() メソッドは最初に出現したもののみを削除します。

thislist = ["リンゴ", "バナナ", "チェリー", "バナナ", "キウイ"]
thislist.remove("バナナ")
print(thislist)

2. 指定したインデックスで削除する

値ではなく、位置(インデックス)を指定して削除する方法を解説します。

2.1 pop() メソッド

pop() メソッドは、指定したインデックス(Index)の要素を削除します。

thislist = ["リンゴ", "バナナ", "チェリー"]
thislist.pop(1)
print(thislist)

2.2 インデックスを指定しない pop()

pop() メソッドにインデックスを指定しなかった場合、リストの最後の要素が削除されます。

thislist = ["リンゴ", "バナナ", "チェリー"]
thislist.pop()
print(thislist)

2.3 del キーワード

del キーワードも、指定したインデックスの要素を削除するために使用できます。

thislist = ["リンゴ", "バナナ", "チェリー"]
del thislist[0]
print(thislist)

2.4 リスト自体の削除

del キーワードは、リスト(変数)そのものを完全に削除することも可能です。

thislist = ["リンゴ", "バナナ", "チェリー"]
del thislist
# これを実行した後に print(thislist) を呼ぶと、変数が存在しないためエラーになります

3. リストを空にする

リスト構造自体は残しつつ、中身の要素だけをすべて消去したい場合があります。

3.1 clear() メソッド

clear() メソッドを使用すると、リストの中身が空になります。リスト自体は保持されますが、要素は一切含まれません。

thislist = ["リンゴ", "バナナ", "チェリー"]
thislist.clear()
print(thislist)

実務での使い分けとして、削除した値を後続の処理で再利用したい場合は pop()、特定の値を狙い撃ちしたい場合は remove()、メモリ解放を意識して変数ごと消したい場合は del を選択するのがセオリーです。次は、リストを効率的に反復処理する「ループ処理(Loop Lists)」について深掘りしていきましょう。