中学理科1627080 views
MathPython492451 views
高校国語786021 views
数学講師2858583 views
LaTeX957931 views
中学英語809228 views
高校日本史189949 views
りんご195339 views
高校生物550093 views
教育149005 views
Help
Tools

English

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 された辞書は元データの影響を受けていません。