IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Pythonでネットワーク自動化をしよう

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第9回 Pythonの基本(4)辞書型 (小澤昌樹) 2023年4月

1. はじめに

みなさん、こんにちは。Pythonには、複数のデータをまとめて扱うことができるコレクション型のデータ型があり、これまでにリスト型とタプル型について解説してきました。リスト型は、要素を順番に保持するデータ型であり、タプル型は、要素をキーと値のペアで保持するデータ型です。今回は、データ型の中でも非常に重要な役割を果たす辞書型について解説します。

2. 辞書型とは

辞書型は、キーと値をペアにして保持するデータ型です。これまでに解説したリスト型やタプル型は、要素を順番に保存するデータ型ですが、辞書型は要素をキーと値のペアで保持するだけで、要素の順番は関係ありません。辞書型は、ディクショナリ型とも言います。他のプログラミング言語では、連想配列やハッシュなどのデータ構造のことです。

辞書型では、キーを使って値を取得することができます。キーは、文字列や数値などの不変なオブジェクトを使用することができます。このため、辞書型は、キーを使ってデータを高速に検索することができるという利点があります。

さらに、辞書型は、キーと値のペアを追加、変更、削除することができます。プログラムの実行中に必要なデータを動的に追加、変更、削除することができるため、非常に便利です。

新しい辞書を定義するには、波括弧( { } )を使用します。キーと値はコロン(:)で繋ぎ、要素同士はカンマ(,)で区切ります。


>>> dict = {}    # 空の辞書
>>> dict
{}
>>> dict = {'apple': 100, 'banana': 50, 'orange': 80}    # キーと値を指定
>>> dict
{'apple': 100, 'banana': 50, 'orange': 80}
3. 辞書の操作

辞書に対して、角括弧を使ってキーを指定すると、そのキーに関連付けられた値を取得できます。


>>> dict['apple']
100

辞書から値を取り出す際に角括弧を使う場合、存在しないキーを指定すると例外が発生します。しかし、get() メソッドを使うと、存在しないキーを指定しても例外が発生しません。さらに、get() メソッドには第二引数にデフォルト値を設定でき、キーが存在しなかった場合にはそのデフォルト値を取得することができます。ただし、これは辞書に追加されたということではありません。


>>> dict['grape']    # 例外発生する
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'grape'
>>> dict.get('grape')     # 例外発生しない
>>> dict.get('grape', 200)     # 引数に指定したデフォルト値を返す
200
>>> dict    # 辞書には追加されない
{'apple': 100, 'banana': 50, 'orange': 80}

辞書に対して、角括弧を使ってキーを指定して値を代入すると、そのキーに対応する値が格納されます。すでにキーが存在している場合は上書きされ、存在していない場合は新しい要素として追加されます。


>>> dict['apple'] = 150
>>> dict['apple']
150
>>> dict
{'apple': 150, 'banana': 50, 'orange': 80}
>>> dict['grape'] = 200
>>> dict
{'apple': 150, 'banana': 50, 'orange': 80, 'grape': 200}

辞書に存在するすべてのキーを取得するには keys() メソッド、辞書に存在するすべての値を取得するには values() メソッド、辞書に存在するすべてのキーと値の組み合わせ(キーバリューペア)を取得するには、items() メソッドを使用します。


>>> dict.keys()
dict_keys(['apple', 'banana', 'orange', 'grape'])
>>> dict.values()
dict_values([150, 50, 80, 200])
>>> dict.items()
dict_items([('apple', 150), ('banana', 50), ('orange', 80), ('grape', 200)])
4. まとめ

今回は、コレクション型のデータ型である辞書型について解説しました。辞書型は、キーと値のペアを追加、変更、削除することができるため、非常に柔軟にデータを扱うことができます。また、辞書型には多くの便利なメソッドが用意されているので、これらを活用することで効率的にプログラムを作成することができるでしょう。

次回は、集合型について説明します。集合は、複数のデータをまとめて扱うことができるデータ型の一つです。リストと似ていますが、要素の順序は考慮されません。また、要素の重複を許可しません。集合は集合演算ができるため、データの分析や処理に非常に便利なデータ型です。お楽しみに!

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes