Pythonがデータを持つ方法の1つに、辞書(dictionary)型というものがあります。
別記事では、辞書型とはどんなものか?ということと、Pythonでの定義と出力(リンク)を扱いました。
今回は、辞書型における要素の「追加」と「削除」に関する操作について、まとめていきます。
辞書(dictionary)型の操作
宣言された辞書型では、キーと値の「登録(追加)」「出力(取り出し)」「値の修正」「削除」「検索」などの操作ができます。
本記事ではその中でも【要素の追加】と【要素の削除】について、記載していきます。
データ追加
既存の辞書に要素を追加する方法です。
基本的には、追加している辞書内にはない「キー」に対して、値を代入することになります。
コードサンプル:
dict = {‘one’:1, ‘two’:2, ‘three’:3}
dict[‘four’] = 4
print(dict)
実行結果:
{‘one’: 1, ‘two’: 2, ‘three’: 3, ‘four’: 4}
この方法で要素を追加した場合は、必ず最後尾に追加されるようになります。
連結
既存の辞書の要素をつなげて1つの辞書として扱えるようにする方法です。
updateメソッドを利用することで、辞書同士の連結(連想配列の結合)をすることができます。
コードサンプル:
dict = {‘one’:1, ‘two’:2, ‘three’:3}
dict1 = {‘four’:4, ‘fine’:5}dict.update(dict1)
print(dict)
実行結果:
{‘one’: 1, ‘two’: 2, ‘three’: 3, ‘four’: 4, ‘fine’:5}
上記から分かるように「update()」の括弧内に記載した辞書を「.」前に記載した辞書の最後尾に連結させることになります。
データ代入(値の書き換え)
既存の辞書に存在している「キー」に紐づく「値」を変更することができます。
方法は、データの追加と同じ要領です。違いは変更したい既存の「キー」を指定して、新しい「値」を代入することです。
コードサンプル:
dict = {‘one’:1, ‘two’:4, ‘three’:3}
print(dict)dict[‘two’] = 2
print(dict)
実行結果:
{‘one’: 1, ‘two’: 4, ‘three’: 3}
{‘one’: 1, ‘two’: 2, ‘three’: 3}
要素の削除
追加されている要素は、削除することができます。
基本的な方法は、「del 辞書名[‘キー’]」を用います。「キー」が存在しない場合は、KeyError となります。
コードサンプル:
dict = {‘one’:1, ‘two’:2, ‘three’:3}
del dict[‘two’]
print(dict)
実行結果:
{‘one’: 1, ‘three’: 3}
要素の削除 w/取り出し
追加されている要素は、削除すると同時に取り出して別の処理に利用することもできます。
記載方法は、「辞書名.pop(‘キー名’)」を用います。
コードサンプル:
dict = {‘one’:1, ‘two’:2, ‘three’:3}
element = dict.pop(‘two’)
print(dict)
print(element)
実行結果:
{‘one’: 1, ‘three’: 3}
2
なお、指定した「キー」が存在しない場合に表示させる内容を指定することもできます。
記載方法は、「辞書名.pop(‘キー名’, (表示させたい内容’)」です。
コードサンプル:
dict = {‘one’:1, ‘two’:2, ‘three’:3}
pop1 = dict.pop(‘four’, ‘Key is nothing.’)
print(pop1)
実行結果:
Key is nothing.
また、「辞書名.popitem()」を使用する方法もあります。この方法では、「キー」と「値」の2つの変数を指定する必要があります。
ただし、取り出す「キー」を指定することができません。LIFO(先に入れたものを後に出す)の順序に従わなければなりません。そのため、辞書の一番後ろの要素から取り出すことになります。
任意の (key, value) 対を辞書から消去して返します。 対は LIFO の順序で返却されます。
なお、辞書に要素がない(空)場合は、keyErrorとなります。
コードサンプル:
dict = {‘one’:1, ‘two’:2, ‘three’:3}
key, value = dict.popitem()
print(key)
print(value)
実行結果:
three
3
コードサンプル:
dict = {}
key, value = dict.popitem()
実行結果:
KeyError: ‘popitem(): dictionary is empty’
要素の全削除
追加されている要素を全て削除することができます。
全削除するには、「辞書名.clear()」を使用します。
コードサンプル:
dict = {‘one’:1, ‘two’:2, ‘three’:3}
dict.clear()
print(dict)
実行結果:
{}
まとめ
今回は、pythonの辞書型における要素の「追加」と「削除」に関する操作について記載しました。
覚えておくと、非常に便利な概念なので、ぜひ参考にしてみて下さい。