Python - 辞書(マッピング型)の値を削除する

辞書から指定したキー値を削除するには pop、全て削除するには clear メソッドを使用します。

キーを指定して要素を削除

pop メソッドの引数にキー値を渡すとその要素が削除され、戻り値としてキーに対応した値を返します。 指定したキーが存在しない場合は例外(KeyError)が発生します。

pop メソッドの使用方法

キーに対応した値 = 辞書オブジェクト.pop(キー値)

サンプルコード

# 辞書(マップ)の生成
testDict = {
    '100': 'Data100',
    '200': 'Data200',
}

# キー '100' を削除
result = testDict.pop('100')

# 結果 = 'Data100'
print(result)

# 結果 = {'200': 'Data200'}
print(testDict)
実行結果 実行結果1

キーを指定して要素を削除(KeyErrorを回避)

辞書にないキーを指定したときに例外を発生させないようにするには、pop メソッドの第2引数にデフォルト値を指定します。 キーが見つかった場合はキーに対応した値、見つからなかった場合はデフォルト値が返されます。「KeyError」は発生しません。

pop メソッドの使用方法(デフォルト値指定)

結果(キーに対応した値 または デフォルト値) = 辞書オブジェクト.pop(キー値, デフォルト値)

サンプルコード

# 辞書(マップ)の生成
testDict = {
    '100': 'Data100',
    '200': 'Data200',
}

# キー '100' を削除
result = testDict.pop('100', 'ありません')
# 結果 = 'Data100'
print(result)

# 再び キー '100' を削除
result = testDict.pop('100', 'ありません')
# 結果 = 'ありません'
print(result)
実行結果 実行結果2

キーが存在するか、確認してから削除

キーが存在するかを確認するには in 演算子を使用します。 in 演算子 でキーの存在確認
if キー値 in 辞書オブジェクト:
    # キーがある時の処理
else:
    # キーがない時の処理

サンプルコード

# 辞書(マップ)の生成
testDict = {
    '100': 'Data100',
    '200': 'Data200',
}

if '101' in testDict:
    # キー '101' を削除
    testDict.pop('101')
else:
    print('キーがありません。')
実行結果 実行結果3

全ての値を削除

全ての値を削除するには clear メソッドを使用します。引数、戻り値はありません。

clear メソッドの使用方法

辞書オブジェクト.clear()

サンプルコード

# 辞書(マップ)の生成
testDict = {
    '100': 'Data100',
    '200': 'Data200',
}

# 全て削除
testDict.clear()

# 結果 = {}
print(testDict)
実行結果 実行結果4

検証環境

関連ページ