#[Python]04章-06 ディクショナリの作成
この節では、ディクショナリについて説明していきます。リストやタプルといったように、1つの変数にいくつかの要素を持たせていることは同じです。
ディクショナリを用いることで、特定の項目に対して、値を関連付けることもできるようになります。
ここでは、**「ディクショナリ」という表現をしますが、Pythonの書籍によっては単に「辞書」**ということもありますので、把握しておいてください。
##ディクショナリの作成
ディクショナリとは、それぞれの要素に**キー(key)と値(value)**をペアとして存在しているデータ構造です。
早速ディクショナリを作成していきましょう。
Python Consoleより、以下のコードを入力してください。今回の例では、情報処理技術者試験の略称名を用いて説明していきたいと思います。
>>> D = {'ip' : 'ITパスポート試験', 'fe' : '基本情報技術者試験', 'sg' : '情報セキュリティマネジメント試験', 'ap' : '応用情報技術者試験'}
>>> D
{'ip': 'ITパスポート試験', 'fe': '基本情報技術者試験', 'sg': '情報セキュリティマネジメント試験', 'ap': '応用情報技術者試験'}
こう見てみると、実際の辞書のように、ipが何なのか、といったことが記載されています。
ディクショナリにおいては、**{キー1 : 値1, キー2 : 値2, …}といったように、キーと値を:(コロン)で区切り、各要素を,(カンマ)で区切ります。さらにそれらを{ }**で囲みます。
また、キーだけを抽出する、値だけを抽出するといったことも可能です。いったんDの要素を確認してから変更します。
>>> D = {'ip' : 'ITパスポート試験', 'fe' : '基本情報技術者試験', 'sg' : '情報セキュリティマネジメント試験', 'ap' : '応用情報技術者試験'}
>>> D.keys()
dict_keys(['ip', 'fe', 'sg', 'ap'])
>>> D.values()
dict_values(['ITパスポート試験', '基本情報技術者試験', '情報セキュリティマネジメント試験', '応用情報技術者試験'])
キーを知りたい場合はkeys()メソッドを、値を知りたい場合はvaluesメソッドを使用します。
##ディクショナリの要素の参照
ディクショナリにおける要素の参照は少し特殊です。リストやタプルでは、各要素の番号を**[ ]に指定して表示していましたが、ディクショナリでそれを行うとエラーとなります。ディクショナリでも要素を参照する際には[ ]**を使用しますが、その指定方法が異なります。
Python Consoleより、以下のコードを入力してください。ディクショナリでは以下のようにキーを指定して要素を表示します。
>>> D['fe']
'基本情報技術者試験'
もちろん、存在しないキーを指定するとエラーとなります。
>>> D['db']
Traceback (most recent call last):
File "<input>", line 1, in <module>
KeyError: 'db'
要素の値のほうを変えるには、キーを指定して、書き換えることができます。いったんDの要素を確認してから変更します。
>>> D
{'ip': 'ITパスポート試験', 'fe': '基本情報技術者試験', 'sg': '情報セキュリティマネジメント試験', 'ap': '応用情報技術者試験'}
>>> D['ap'] = 'ソフトウェア開発技術者試験'
>>> D
{'ip': 'ITパスポート試験', 'fe': '基本情報技術者試験', 'sg': '情報セキュリティマネジメント試験', 'ap': 'ソフトウェア開発技術者試験'}
この変数Dはまた使うので**'ap'**を元に戻しておきます。
>>> D['ap'] = '応用情報技術者試験'
>>> D
{'ip': 'ITパスポート試験', 'fe': '基本情報技術者試験', 'sg': '情報セキュリティマネジメント試験', 'ap': '応用情報技術者試験'}
なお、値は変えられることはわかりましたが、キーは変えることはできません。
先ほどのタプルの時にも触れましたが、キーはイミュータブルのため、変更はできません。
##最後に
今回はディクショナリについて触れました。キーと値の組み合わせについては、コンピュータ関連の書籍をあさっていけば、どこにも掲載されていると思います。
キーと値の操作に慣れておきましょう。
###【目次リンク】へ戻る