【Python連載】辞書に要素を追加・削除する


複数の値を1つにまとめて扱うことが出来るデータ形式の一つに、辞書と呼ばれるものがあります。
今回は、辞書に要素を追加・削除する方法を紹介します。


追加・更新について

辞書を定義した後でも、後からキーの追加・値の更新が可能です。
では、一つずつ確認していきましょう。

・辞書にキーを追加する
次のような、色名がキーとなり果物が値として入っているような辞書があるとします。

fruit_dict = {"red" : "apple" ,
              "yellow" : "lemon" ,
              "green" : "melon"}

この辞書に、キーとして”pink”、値として”peach”の要素を追加してみます。

追加するには、次のような書式で行います。

辞書[キー] = 値

それでは実際に追加してみましょう。

fruit_dict = {"red" : "apple" ,
              "yellow" : "lemon" ,
              "green" : "melon"}

fruit_dict["pink"] = "peach"

print(fruit_dict)                         #print()関数で辞書の内容の確認
C:\Python> python 8-2-1.py
{‘red’: ‘apple’, ‘yellow’: ‘lemon’, ‘green’: ‘melon’, ‘pink’: ‘peach’}

ちなみに、7行目のようにprint関数で辞書名を指定すると辞書の内容を表示することができます。

また、この方法で、空の辞書を最初に定義してからキーを順番に追加していくことが出来ます。

fruit_dict = {}                  #空の辞書の定義

fruit_dict["red"] = "apple"      #キーと値の追加
fruit_dict["yellow"] = "lemon"
fruit_dict["green"] = "melon"
fruit_dict["pink"] = "peach"

print(fruit_dict)
C:\Python> python 8-2-2.py
{‘red’: ‘apple’, ‘yellow’: ‘lemon’, ‘green’: ‘melon’, ‘pink’: ‘peach’}

最初に空の辞書を定義し後からキーと値を順番に追加していく場合もプログラムによってはあるので、上記のような動作も覚えておきましょう。

・辞書の値を更新する
辞書では、値の更新も行うことができます。

fruit_dict = {"red" : "apple" ,
              "yellow" : "lemon" ,
              "green" : "melon"}

fruit_dict["yellow"] = "banana"              #キー"yellow"の値を、"lomon"から"banana"に更新

print(fruit_dict)
C:\Python> python 8-2-3.py
{‘red’: ‘apple’, ‘yellow’: ‘banana’, ‘green’: ‘melon’}

上記は値の更新であってキー名の更新ではないので、注意しましょう。
※辞書では、存在しているキー名を変更することはできません。その場合は、新しい辞書を定義する必要があります。

・新しい辞書でキーの値の更新をする
update()という関数を使用すると、既存の辞書に対して、新しい別の辞書で値を更新することが可能です。
なお、新しい別の辞書に既存の辞書には存在していないキー(と値)があると、そのキー(と値)も追加されます。

fruit_dict = {"red" : "apple" ,
              "yellow" : "lemon" ,
              "green" : "melon"}

new_dict = {"red" : "strawberry" , "pink" : "peach" }       #更新用の辞書

fruit_dict.update(new_dict)                                 #update()で辞書の更新
print(fruit_dict)
C:\Python> python 8-2-4.py
{‘red’: ‘strawberry’, ‘yellow’: ‘lemon’, ‘green’: ‘melon’, ‘pink’: ‘peach’}

上記例を(無理矢理ではありますが)現実世界での出来事に置き換えると・・・
この世界の果物から”apple”が消えたので、辞書には代わりとして”strawberry”を追加することになった
キーとして”pink”を追加することになった
というようなイメージでしょうか。

実際のプログラムでも『項目が追加になった』『既存の項目の値が変わった』ということもあります。
そのような場合には新しく辞書を定義し直すという方法以外にも上記update()ように辞書の更新を行うような便利な方法もある、ということは頭の片隅に入れておきましょう。

#削除について

辞書から要素(キーとその値)を削除するには、del文と呼ばれるものを使用します。
書式は次の通りです。

del 辞書[キー]

次の例では、キー”green”の要素を削除しています。

fruit_dict = {"red" : "apple" ,
              "yellow" : "lemon" ,
              "green" : "melon"}

del fruit_dict["green"]              #del文の使用

print(fruit_dict)
C:\Python> python 8-2-5.py
{‘red’: ‘apple’, ‘yellow’: ‘lemon’}

辞書からキー名”green”の要素が無くなっていることがわかりますね。
上記のdel文は個別に辞書の要素を削除するものですが、要素を全て削除するclear()という関数もあります。
次の例では、辞書内の全ての要素を削除しています。

fruit_dict = {"red" : "apple" ,
              "yellow" : "lemon" ,
              "green" : "melon"}

fruit_dict.clear()

print(fruit_dict)
C:\Python> python 8-2-6.py
{}

辞書の要素(キーと値)が無くなっているだけですので、辞書自体の削除ではないので注意しましょう。

以上、辞書に要素を追加・削除する方法の説明でした。


まとめ

辞書では、要素(キーと値)の追加、削除をすることが可能です
値の更新は可能ですが、キー名の更新はできません。


確認問題

辞書の要素を変更することに関して、誤っている記述を選びなさい(2つ)。
①辞書は、値を更新することが可能
②辞書は、del文で要素(キーとその値)を削除することが可能
③辞書は、キー名を更新することが可能
④辞書は、別の辞書で値の更新及びキーの追加が可能
⑤辞書は、clear()関数で辞書自体を削除可能

※以下は解答です
③は誤りです。キー名を更新することは出来ません。その際は、新しい辞書を定義する必要があります。
⑤は誤りです。clear()関数は要素を全て削除するだけであり、空の辞書が出来上がります。

  • このエントリーをはてなブックマークに追加

PAGE TOP