Python の辞書から要素を削除する

辞書の要素を削除する方法として pop、clear、del があります。

pop

pop は辞書から要素を削除し、引数にしたキーの値を出力します。

countries = {'France': 0.7, 'Japan': 1.2, 'US': 3.4}

value = countries.pop('Japan')

print(value)  # 1.2
print(countries)  # {'France': 0.7, 'US': 3.4}

存在しないキーを指定するとエラーが起きます。

countries = {'France': 0.7, 'Japan': 1.2, 'US': 3.4}

value = countries.pop('Germany')

# KeyError: 'Germany'

clear

countries = {'France': 0.7, 'Japan': 1.2, 'US': 3.4}

countries.clear()

print(countries)  # {}

del

countries = {'France': 0.7, 'Japan': 1.2, 'US': 3.4}

del countries['France']

print(countries)  # {'Japan': 1.2, 'US': 3.4}

補足:辞書のコピーと削除

import copy

countries = {'France': 0.7, 'Japan': 1.2, 'US': 3.4}

items = countries
copied = copy.copy(countries)
deep_copied = copy.deepcopy(countries)

countries.pop('US')

print(countries)  # {'France': 0.7, 'Japan': 1.2}
print(items)  # {'France': 0.7, 'Japan': 1.2}
print(copied)  # {'France': 0.7, 'Japan': 1.2, 'US': 3.4}
print(deep_copied)  # {'France': 0.7, 'Japan': 1.2, 'US': 3.4}

copy または deepcopy された辞書は元データの影響を受けていません。