
目標
「辞書」の要素の削除方法を解する。
「辞書」の要素の削除方法
「辞書」で要素を削除する場合、「popメソッド」「popitemメソッド」「clearメソッド」「del文」を用います。其々、実行時の動きが異なります。
「popメソッド」を利用した要素の削除方法
「popメソッド」では引数に設定した「key(キー)」の要素を辞書から削除します。このとき、削除される要素の値(value)は「popメソッド」の戻り値として返却されます。
「popメソッド」の利用方法
「popメソッド」は「辞書名.pop(‘キー’, ‘defaultの値’)」のように利用します。※defaultの値は設定した場合にのみ利用されます。
サンプルプログラム(辞書名.pop(‘キー’)として値の取得と削除を行います。)
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
pop_value = vegetables.pop('carrot')
print('popメソッド利用後の辞書', vegetables, sep='\n', end='\n')
print('popメソッドで取得した値', pop_value, sep='\n')
実行結果


サンプルプログラム(辞書名.pop(‘キー’,’defaultの値’)の利用)
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
# popメソッドの利用箇所に「Not Found」が返される。
pop_value = vegetables.pop('broccoli', 'Not Found')
print(pop_value)
実行結果(popメソッドの戻り値に「Not Found」が返されます。このため、pop_valueを表示すると返却された「Not Found」が表示されることになります。

「popitemメソッド」を利用した要素の削除方法
「popitemメソッド」を利用すると辞書に追加された最新の要素(最後に追加された要素)を削除します。このとき、削除される要素はタプルとして「popitemメソッド」の利用箇所に返却されます。
「popitemメソッド」の利用方法
「popitemメソッド」は「辞書名.popitem()」のように利用します。
サンプルプログラム
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
# 「popitemメソッド」を利用すると辞書に追加された
# 最新の要素(最後に追加された要素)を削除します。
popitem_value = vegetables.popitem()
print('削除される要素はタプルでメソッド利用箇所に返却されます。')
print(popitem_value, end='\n\n')
print('最後の要素が削除されます。')
print(vegetables, end='\n\n')
popitem_value = vegetables.popitem()
print('削除される要素はタプルでメソッド利用箇所に返却されます。(2回目)')
print(popitem_value, end='\n\n')
print('最後の要素が削除されます。(2回目)')
print(vegetables, end='\n\n')
実行結果

「clearメソッド」を利用した要素の削除方法
「clear メソッド」を利用すると辞書の全要素を削除できます。削除後は空の辞
書が残ります。
「clearメソッド」の利用方法
「clearメソッド」は「辞書名.clear()」のように利用します。
サンプルプログラム
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
# 「clear メソッド」を利用すると辞書の全要素を削除できます。
# 削除後は空の辞書が残ります。
vegetables.clear()
print(vegetables)
実行結果

「del文」を利用した要素の削除方法
「del 文」を利用するとインデックス式で指定した「キー(key)」の要素を削除
できます。
「del文」の利用方法
サンプルプログラム(del文を利用して要素を削除)
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
del vegetables['carrot']
print('削除後の辞書。')
print(vegetables, end='\n\n')
実行結果

サンプルプログラム(del文を利用して辞書を削除)
vegetables = {
'tomato' :[150, 50],
'onion' :[100, 45],
'cucumber':[45, 34],
'carrot' :['null','null'],
'eggplant':[98, 67],
'potato' :[68, 101]
}
# 辞書と変数名の結びつきがなくなり、呼び出しが行えなくなります。
# ※辞書そのものが削除されます。
# 呼び出しを行うと「NameError」となります。
del vegetables
print(vegetables)
実行結果

今回は以上になります。

ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

