dict(dictionary・ディクショナリ―・辞書・マッピング型)から指定したキー値を削除するには pop、全て削除するには clear メソッドを使用します。
キーを指定して要素を削除
pop メソッドの引数にキー値を渡すとその要素が削除され、戻り値としてキーに対応した値を返します。 指定したキーが存在しない場合は例外(KeyError)が発生します。pop メソッドの使用方法
キーに対応した値 = 辞書オブジェクト.pop(キー値)
サンプルコード
# 辞書(dict)の生成
testDict = {
'100': 'Data100',
'200': 'Data200',
}
# キー '100' を削除
result = testDict.pop('100')
# 結果 = 'Data100'
print(result)
# 結果 = {'200': 'Data200'}
print(testDict)
- 8行目: 辞書から {'100': 'Data100'} を 削除しています。戻り値(result) は 'Data100' が返ります。

キーを指定して要素を削除(KeyErrorを回避)
辞書にないキーを指定したときに例外を発生させないようにするには、pop メソッドの第2引数にデフォルト値を指定します。 キーが見つかった場合はキーに対応した値、見つからなかった場合はデフォルト値が返されます。「KeyError」は発生しません。pop メソッドの使用方法(デフォルト値指定)
結果(キーに対応した値 または デフォルト値) = 辞書オブジェクト.pop(キー値, デフォルト値)
サンプルコード
# 辞書(dict)の生成
testDict = {
'100': 'Data100',
'200': 'Data200',
}
# キー '100' を削除
result = testDict.pop('100', 'ありません')
# 結果 = 'Data100'
print(result)
# 再び キー '100' を削除
result = testDict.pop('100', 'ありません')
# 結果 = 'ありません'
print(result)
- 8行目: 辞書から {'100': 'Data100'} を 削除しています。戻り値(result) は 'Data100' が返ります。
- 13行目: 既に キー'100' は無いため、戻り値(result) は 'ありません' が返ります。例外は発生しません。

キーが存在するか、確認してから削除
キーが存在するかを確認するには in 演算子を使用します。 in 演算子 でキーの存在確認if キー値 in 辞書オブジェクト:
# キーがある時の処理
else:
# キーがない時の処理
サンプルコード
# 辞書(dict)の生成
testDict = {
'100': 'Data100',
'200': 'Data200',
}
if '101' in testDict:
# キー '101' を削除
testDict.pop('101')
else:
print('キーがありません。')
- 7行目: 辞書にキー値 '101' は無いため、else区が実行されます。

全ての値を削除
全ての値を削除するには clear メソッドを使用します。引数、戻り値はありません。clear メソッドの使用方法
辞書オブジェクト.clear()
サンプルコード
# 辞書(dict)の生成
testDict = {
'100': 'Data100',
'200': 'Data200',
}
# 全て削除
testDict.clear()
# 結果 = {}
print(testDict)
- 8行目: 辞書の値を全て削除しています。

検証環境
- Python 3.9.0 (tags/v3.9.0:9cf6752, Oct 5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.906 Experience: Windows Feature Experience Pack 120.2212.551.0