【SikuliX】【Python】辞書型を使ってみよう~要素の追加と削除~

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の辞書型における要素の「追加」と「削除」に関する操作について記載しました。

覚えておくと、非常に便利な概念なので、ぜひ参考にしてみて下さい。

スポンサーリンク