【Python】辞書(dict)型の使い方を解説!サンプルコード付き!

変数には、「キーと値を組み合わせた」dictionary(辞書)という型があります。
辞書を使用することで、特定の要素を検索したり、追加や削除も簡単にできます。

さらに、キーを検索してそのキーに対する値を取り出すこともできます。

また、items()メソッドを使用することで辞書のキーや値を同時に取り出すことができ、keys()メソッドを使用することで辞書のキーのみを取得することができ、values()メソッドを使用することで辞書の値のみを取得することができます。

今回はPythonの辞書(dict)型の使い方について以下の内容で解説していきます。

⚫︎ 辞書(dict)型とは

⚫︎ 辞書(dict)型の基本的な使い方
⚫︎ 辞書(dict)型の要素を取得する方法
⚫︎ 辞書(dict)型で使用できるメソッド

⚫︎ for文を使って辞書(dict)型の要素をまとめて取得する方法

⚫︎ 多次元の辞書(dict)型の要素を取得する方法

辞書(dict)型とは

辞書(dict)型とはディクショナリ(dictionary)型と呼ばれる配列の一種であり、 キーと値のペアを要素しとして管理できるデータ型となります。

データ型というとリストやタプルなどが思い浮かぶかと思いますが、「リスト」や「タプル」では要素の並び順が決まっていて、インデックスを使って参照します。

それに比べ、「辞書」は、要素に付けた名前(キー)を使って参照します。

辞書(dict)型の書き方

辞書(dict)型の構文は下記となります。

辞書の要素は

のようにキーと値のペアで構成されます。
キーに使うのは、文字列でも数値でも何でもかまいません。

なお、辞書の要素は書き換え可能ですが、キーだけの変更はできませんので注意してください。
変更する場合は要素(キー:値)ごと削除して、新しい要素を追加することになります。

辞書(dict)型の基本的な使い方

辞書型の基本的な使い方を紹介します。

辞書(dict)型を作成する

{キー :値}に値を格納することで辞書を作成することができます。

出力結果

{‘A’:’Apple’, ‘B’: ‘Ball’, ‘C’: ‘Cat’}

alphaという辞書型の変数に、キーと要素を辞書型の変数に格納し、print()を使って表示しています。

また、辞書にはリストと違って 「順序」という概念がありません。
どのキーとどの値のペアかという情報のみが保持されています

辞書(dict)型の要素を参照する

辞書に登録した要素を参照するには、リストと同じようにブラケット([])を使います。

出力結果

Apple

辞書(dict)型の要素を追加する

作成済みの辞書に新しい要素を追加します。

出力結果

{‘A’: ‘Apple’, ‘B’: ‘Ball’, ‘C’: ‘Cat’, ‘D’: ‘Desk’}

辞書(dict)型の要素を変更する

キーを指定して代入を行うと、登録済みキーの値を変更できます。

出力結果

{‘A’: ‘Apple’, ‘B’: ‘Ball’, ‘C’: ‘Cold,}

辞書(dict)型の要素を削除する

要素の削除はdel演算子で行います。

出力結果

{‘A’: ‘Apple’, ‘B’: ‘Ball’, ‘C’: ‘Cat’}

辞書(dict)型の要素を検索する

辞書の要素を検索するにはin演算子を使用します。

del演算子によって辞書の要素が削除されています。

出力結果

False
True
True

in演算子で辞書の要素を検索すると、ture/falseの真偽値が返されるようになります。

in演算子で辞書(dict)型の要素を検索する方法について詳しく知りたい場合はこちらをご参考ください。

辞書(dict)型の要素を取得する方法

辞書(dict)型の要素を取得する方法について紹介します。

辞書(dict)型のキーだけを取得する場合

辞書のキーだけを取得する場合はkeys()メソッドを使用します。

出力結果

dict_keys([‘A’, ‘B’, ‘C’, ‘D’])

keys()メソッドによってを使って辞書のキーのみを取得しています。

辞書(dict)型の値だけを取得する場合

辞書の値だけを取得する場合はvalues()メソッドを使用します。

出力結果

dict_values([‘Apple’, ‘Ball’, ‘Cat’, ‘Desk’])

values()メソッドによってを使って辞書の値のみを取得しています。

辞書(dict)型のキーと値を同時に取得する場合

辞書(dict)型のキーと値を同時に取得する場合はitems()メソッドを使用します。

出力結果

dict_items([(‘A’, ‘Apple’), (‘B’, ‘Ball’), (‘C’, ‘Cat’), (‘D’, ‘Desk’)])

item()メソッドによってを使って辞書のキーと値を同時に取得しています。

for文を使って辞書(dict)型の要素をまとめて取得する方法

辞書の要素は、for文を使ってイテレート(反復処理)することができます。
辞書そのものをfor文で イテレートした場合、要素のキーのみが取り出されます。

出力結果

・キーだけを取り出す
A
B
C
D
・値だけを取り出す
Apple
Ball
Cat
Desk
・キーと値をまとめて取り出す
(‘A’, ‘Apple’)
(‘B’, ‘Ball’)
(‘C’, ‘Cat’)
(‘D’, ‘Desk’)

for文によって辞書(dict)型の要素をまとめて取得することができます。

for文で辞書(dict)型の要素をまとめて取得する方法について詳しく知りたい場合はこちらをご参考ください。

辞書(dict)型で使用できるメソッド

辞書で使用できるメソッドがありますので紹介します。

辞書(dict)型に辞書を追加する場合

辞書に辞書を追加する場合はupdate()メソッドを使用します。

update()メソッドを使用することで辞書の要素を別の辞書にコピーすることができます。
追加される辞書に同じキーがある場合は上書きされます。

出力結果

{‘A’: ‘Apple’, ‘B’: ‘Ball’, ‘C’: ‘Cat’, ‘D’: ‘Desk’, ‘E’: ‘Eye’, ‘F’: ‘Foot’, ‘G’: ‘golf’, ‘H’: ‘hand’}

辞書(dict)型の要素を一気にコピーする場合

辞書の要素を一気にコピーする場合はcopy()メソッドを使用します。
copy()メソッドで、辞書の要素をまとめてコピーされ、参照ではなくオブジェクトそのものがコピーされます。

出力結果

{‘A’: ‘Apple’, ‘B’: ‘Ball’, ‘C’: ‘Cat’, ‘D’: ‘Desk’, ‘E’: ‘Eye’, ‘F’: ‘Foot’, ‘G’: ‘golf’, ‘H’: ‘hand’}
{‘A’: ‘Apple’, ‘B’: ‘Ball’, ‘C’: ‘Cat’, ‘D’: ‘Desk’, ‘E’: ‘Eye’, ‘F’: ‘Foot’, ‘G’: ‘golf’, ‘H’: ‘hand’}

辞書(dict)型の要素を全て削除する場合

辞書の要素を全て削除する場合はclear()メソッドを使用します。
clear()メソッドで辞書から全てのキーと値を削除することができます。

出力結果

{}

多次元の辞書(dict)型の要素を取得する方法

多次元の辞書(dict)型のキーだけを取得する場合

多次元の辞書(dict)型のキーだけを取得してみます。

出力結果

・多次元辞書のキーを取得
dict_keys([‘iOS’, ‘Android’])

辞書(dict)型の値だけを取得する場合

出力結果

・多次元辞書の値を取得
dict_values([[[‘iPhne4’, ‘iPhone5’, ‘iPhone5s’, ‘iPhone5c’], [‘iPhone6’, ‘iPhone7’, ‘iPhone8’, ‘iPhoneX’]], [[‘Xperia’, ‘AQUOS’, ‘OPPO’], [‘Google Pixel’, ‘Galaxy’, ‘arrows’]]])

values()メソッドによってを使って辞書の値のみを取得しています。

辞書(dict)型のキーと値を同時に取得する場合

辞書(dict)型のキーと値を同時に取得する場合はitem()メソッドを使用します。

出力結果

・多次元辞書のキーと値を取得
dict_items([(‘iOS’, [[‘iPhne4’, ‘iPhone5’, ‘iPhone5s’, ‘iPhone5c’], [‘iPhone6’, ‘iPhone7’, ‘iPhone8’, ‘iPhoneX’]]), (‘Android’, [[‘Xperia’, ‘AQUOS’, ‘OPPO’], [‘Google Pixel’, ‘Galaxy’, ‘arrows’]])])

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し