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)」について深掘りしていきましょう。