Pythonで辞書型(連想配列)の要素(データ)を削除する方法について詳しく解説します。
辞書型のデータ削除
Pythonの辞書型では、del文やpopメソッドで特定の要素だけを削除したり、del文やclearメソッドですべての要素を一気に消すことができます。
以下のコードは、del文で「指定したキーの要素を削除」する例です。(削除された値は取得できません)
# 勇者ぴこりの持ち物リスト
pikori_items = {
"回復薬": 5,
"魔法の書": 2,
"鉄の剣": 1
}
# キーが「魔法の書」の要素を削除
del pikori_items["魔法の書"]
# 結果の表示
print("勇者ぴこりの持ち物:", pikori_items)
勇者ぴこりの持ち物: {‘回復薬’: 5, ‘鉄の剣’: 1}
以下のコードは、popメソッドで「指定したキーの要素を削除」する例です。(削除された値の取得は可能)
# 勇者ぴこりの持ち物リスト
pikori_items = {
"回復薬": 5,
"魔法の書": 2,
"鉄の剣": 1
}
# 「回復薬」を削除する(個数も取得)
used_item = pikori_items.pop("回復薬")
# 結果を表示
print("消費した数:", used_item)
print("勇者ぴこりの持ち物:", pikori_items)
消費した数: 5
勇者ぴこりの持ち物: {‘魔法の書’: 2, ‘鉄の剣’: 1}
勇者ぴこりの持ち物: {‘魔法の書’: 2, ‘鉄の剣’: 1}
popメソッドは、削除と同時に値を返してくれます。
以下のコードは、clearメソッドで「指定したキーの要素を削除」する例です。
# 勇者ぴこりの持ち物リスト
pikori_items = {
"回復薬": 5,
"魔法の書": 2,
"鉄の剣": 1
}
# 中身を全て削除
pikori_items.clear()
# 結果を表示
print("勇者ぴこりの持ち物:", pikori_items)
勇者ぴこりの持ち物: {}
clearメソッドにより辞書(pikori_items)の要素はすべて削除されますが、辞書自体は中身が空の状態で残ります。
一方、以下コードのように、del文で変数を指定すると、辞書自体も削除されます。
# 勇者ぴこりの持ち物リスト
pikori_items = {
"回復薬": 5,
"魔法の書": 2,
"鉄の剣": 1
}
# 辞書自体を削除
del pikori_items
# 結果を表示
print("勇者ぴこりの持ち物:", pikori_items)
Traceback (most recent call last):
File “/tmp/main.py”, line 2, in
import user_code
File “/tmp/user_code.py”, line 12, in
print(“勇者ぴこりの持ち物:”, pikori_items)
^^^^^^^^^^^^
NameError: name ‘pikori_items’ is not defined
File “/tmp/main.py”, line 2, in
import user_code
File “/tmp/user_code.py”, line 12, in
print(“勇者ぴこりの持ち物:”, pikori_items)
^^^^^^^^^^^^
NameError: name ‘pikori_items’ is not defined
[Execution complete with exit code 1]
辞書(pikori_items)そのものが削除されたため、辞書を呼び出すると上記のエラー(NameError: name ‘pikori_items’ is not defined)が出ます。
関連ページ(もっと学びたい人へ)
辞書型の使い方については、以下ページで詳しく学ぶことができます。

【Python】辞書型(連想配列)の使い方を徹底解説(試験対策問題あり)
Pythonの辞書型(連想配列)の使い方について入門者向けに解説します。
Pythonの基礎から応用例まで、以下ページから学ぶことができます。

【Python超入門】基礎から応用例まで幅広く解説
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。
コメント
【書式】
del 辞書名[キー]では?
※匿名様
コメントありがとうございます。
ご指摘頂いたとおり誤りですので修正しました。
ありがとうございます。