リストもタプルも、インデクスという番号を使って値を管理するという点では同じでした。が、数字ではなく、「名前」を使って値を管理するものもPythonには用意されています。それは「
辞書」と呼ばれるものです。
辞書は、「
キーワード」と呼ばれる名前をつけて値を管理します。そして値を取り出したり変更する場合は、その値のキーを指定します。辞書は、以下のような形で作成します。
変数 = { キー1:値1, キー2:値2, …… }
あるいは、dictというものを使って作成することもできます。ただし、この場合は書き方がちょっと違ってくるので注意して下さい。
dict ( キー1 = 値1 , キー2 = 値2 , ……)
辞書から値を取り出す場合は、変数と同様に[]を使います。ただし、インデクスではなく、
キーワードを[]に指定します。
変数 = 辞書 [ キー ]
辞書 [ キー ] = 値
辞書を利用するとき、初心者が勘違いしてしまいがちなのが「辞書はキー『でも』値を取り出せる」という思い込みです。つまり、キーでも取り出せるが、番号でも取り出せるだろう、という思い込みです。が、辞書は「キーだけ」しか使えません。つまり、辞書にある値を番号で順に取り出したりすることはできないのです。
for inには注意!
すべての要素を扱うための「
for 〜 in」構文は辞書でも使えますが、その働きが微妙に違うので注意が必要です。
リストやタプルでは「
for 変数 in リスト」とすると、リストの値が変数に取り出されました。が、辞書の場合、とり出されるのはそれぞれの「値」ではなく、「
キー」です。つまり、変数に取り出されたキーを使って、値を取り出し利用する形になるわけです。
では、簡単な利用例を下にあげておきましょう。
ここでは、それぞれの名前をキーにして、メールアドレスを設定してあります。forを使い、辞書の全データを書きだしています。辞書を使うと、このようにちょっとしたプチ・データベースっぽい使い方ができるようになります。