辞書を作成する

辞書を新しく作成する方法について解説します。辞書にはキーと対応するオブジェクトの組み合わせを 1 つの要素とする複数の要素が含まれます。

(Last modified: )

値を指定して辞書を作成する

辞書型は { から } までの間に複数の要素をカンマ(,)で区切って定義します。要素はキーと対応する値の組み合わせを キー:値 の形式で記述します。書式は次のとおりです。

{キー1:値1, キー2:値2, ...}

リストやタプルのようなシーケンス型とは異なり辞書はマッピング型なので要素には順序はありません(ただし Python3.7 からは辞書の順序は要素が挿入された順序であることが保証されるようになりました)。インデックスは存在せず、スライスも使用できません。その代わりにキーを指定して対応するオブジェクトを取得することができます。

キーにはハッシュ可能なオブジェクトを指定できます。具体的にはイミュータブルなオブジェクトのように値が変更できないもので、数値や文字列、タプルなどが辞書のキーとして使用できます。逆にリストや辞書のようなミュータブルなオブジェクトはキーに使用できません。

値には数値や文字列など Python で扱えるオブジェクトであれば何でも指定することができます。

{1:"Orange", 2:"Lemon", 3:"Peach"} {"red":"赤色", "blue":"青色", "yellow":"黄色"}

同じ辞書で要素毎に異なるデータ型のオブジェクトを指定することができます。

{"old":28, "address":"Tokyo"}

要素が空の辞書を作成することができます。

{}

作成した辞書は数値や文字列のように変数に代入して利用することができます。

mydict = {1:"Orange", 2:"Lemon", 3:"Peach"}

変数に代入された値を要素として指定する

値を指定して辞書を作成するときに、値を直接入力するかわりに値が代入された変数を指定して辞書を作成することができます。変数はキーと値のどちらでも使用できます。

x = 1
y = "Desktop"
mydict = {x:y}

print(mydict)
>> {1: 'Desktop'}

要素に変数名を指定した場合、要素には変数の参照が設定されるのではなく辞書の作成時に変数に代入されていた値が直接記述されたのと同じ扱いとなります。その為、先ほどの辞書は次のように作成したものとまったく同じです。

mydict = {1:"Desktop"}
print(mydict)
>> {1: 'Desktop'}

辞書を作成したあとに変数に別の値を代入しても、辞書の要素は変更されません。

x = 1
y = "Desktop"
mydict = {x:y}

print(mydict)
>> {1: 'Desktop'}

y = "Movile"

print(mydict)
>> {1: 'Desktop'}

-- --

辞書を作成する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。