Pythonには「dict」と呼ばれる辞書型のオブジェクトが存在します。この記事をご覧の方は、
・dictや辞書型がどんなものかわからない
・dictの使い方が知りたい
と考える方が多いのではないでしょうか。そこで、この記事では、
・dictの基本知識
・辞書型オブジェクトの作成方法
・辞書型オブジェクトの基本操作方法
について解説します。この記事を見れば、dictに関する基本的な知識を身につけ、活用できるようになります。
公開日:2024年2月19日
INDEX
【Python】dictとは?データをすぐに検索するための辞書
Pythonのdictとは、データをすぐに検索するための辞書(Dictionary)オブジェクトのことを表します。配列(list)と似ていますが、配列は各要素に番号が付けられており、要素の番号を用いて値を取り出すのに対して、dictは各要素に名前(キー)をつけます。
dictはキー(key)と値(value)がコロンで区切られたペアで構成されています。キーと値をペアで格納することで、データをすぐに検索できるようになっています。
1 2 3 4 5 6 7 8 9 |
# 配列(list) li = ["a","b","c","d"] # 辞書(dict) dc = {"key1":"a", "key2":"b", "key3":"c"} print(li[0]) print(dc["key1"]) |
【出力結果】
1 2 |
a a |
dictはPythonで利用できます。Pythonの概要や活用事例については「Python(パイソン)とは?人気プログラミング言語の特徴・活用事例を解説!」をご覧ください。
また、Pythonの配列とはどういうものなのかを知りたい方、忘れてしまったから思い出したい方は、「Python配列の基礎!リスト(list)の初期化方法から基本操作まで解説」を参考にしてください。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >【Python】辞書型オブジェクトの作成方法
ここからは、辞書型オブジェクトの作成から操作方法まで順番に見ていきましょう。まずはdictの作成、初期値の設定方法から解説します。
【Python】空のdictを作成する
dictを作成する方法は、おもに「{}」を使う方法と「dict()」を使う方法の2種類存在します。
以下は空dictを作成するサンプルコードです。dc1,dc2ともに辞書型オブジェクトであることが分かります。このとき、「{}」はリストの「[]」とは異なる点に注意してください。
1 2 3 4 5 6 |
dc1 = {} dc2 = dict() print(type(dc1)) print(type(dc2)) |
【出力結果】
1 2 |
<class 'dict'> <class 'dict'> |
「Pythonの導入方法が知りたい」「開発環境の構築方法が知りたい」という方は、「Python入門!導入方法や基本的な使い方を分かりやすく解説」をご覧ください。
【Python】dictに初期値を設定する
dictに初期値を設定する際には、キーと値のペアで格納する必要がある点を覚えておきましょう。
注意点として、値は重複しても問題ありませんが、キーは一意なものを設定しなければなりません。キーが重複した場合、あとから記載した値に上書きされてしまいます。
1 2 3 4 5 6 7 8 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎"} dc2 = dict(dog="犬", cat="猫", rabbit="兎") dc3 = {"key1":1, "key1":2} print(dc1["dog"]) print(dc2["dog"]) print(dc3["key1"]) |
【出力結果】
1 2 3 4 |
犬 犬 2 |
初期値を設定する際にも「{}」と「dict()」を使った2種類が存在するため覚えておきましょう。また、変数dc3はキーが重複しており、値が上書きされていることが分かります。
【Python】辞書型オブジェクトの基本操作
辞書型オブジェクトの基本操作として、「要素の追加」「要素の参照」「要素の削除」「要素の存在確認」の方法を、それぞれ解説していきます。
dictに要素を追加する
dictに要素を追加する際にも、キーと値をペアで設定します。既存の辞書型オブジェクトにも要素を追加することが可能です。要素を追加する際は「変数名[key] = value」で追加できます。
1 2 3 4 5 6 7 8 9 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎"} dc2 = dict(dog="犬", cat="猫", rabbit="兎") dc1["wolf"] = "狼" dc2["fox"] = "狐" print(dc1) print(dc2) |
【出力結果】
1 2 |
{'dog': '犬', 'cat': '猫', 'rabbit': '兎', 'wolf': '狼'} {'dog': '犬', 'cat': '猫', 'rabbit': '兎', 'fox': '狐'} |
dictにある要素を参照する
要素を参照する際は、ここまでに何度か出てきている通り「変数名[key]」で指定したキーの値を参照できます。このとき、存在しないキーを指定するとKeyErrorが発生するため注意しましょう。
1 2 3 4 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎"} print(dc1["wolf"]) |
【出力結果】
1 2 3 4 5 |
Traceback (most recent call last): File "Main.py", line 4, in <module> print(dc1["wolf"]) KeyError: 'wolf' |
dictにある要素を削除する
要素を削除する際には「del」を用います。「del 変数名[key]」で指定したキーと値のペアを削除することができ、以下のサンプルコードではキーが「dog」の要素を削除しました。
1 2 3 4 5 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎"} del dc1["dog"] print(dc1) |
【出力結果】
1 |
{'cat': '猫', 'rabbit': '兎'} |
dictにある要素の存在を確認する
キーや値の存在を確認したい場合には「in」が活用できます。後ほど紹介するメソッドと組み合わせることで、辞書型オブジェクトの検索が行なえます。例えば、KeyErrorを回避するために利用することが可能です。
1 2 3 4 5 6 7 8 9 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎"} if "wolf" in dc1.keys(): print(dc1["wolf"]) else: print("wolf is not found") print("value:猫 = " + str("猫" in dc1.values())) |
【出力結果】
1 2 |
wolf is not found value:猫 = True |
inを用いた場合の戻り値はboolであるため、if文と組み合わせられます。キーが存在しない場合には参照しないようにすることでKeyErrorを回避できます。
【Python】辞書型オブジェクトを活用する際に用いるメソッド
辞書型オブジェクトにはさまざまなメソッドが用意されており、活用することでより汎用的な使い方ができます。ここでは、初歩的なメソッドを4つ紹介しますので、まずはここから覚えていきましょう。
keys():keyを取得する際に用いる
keys()は、辞書型オブジェクトのキーを取得するメソッドです。for文と組み合わせれば、辞書型オブジェクトのキー一覧を取得するなどの使い方ができます。
1 2 3 4 5 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎", "wolf":"狼", "fox":"狐"} for k in dc1.keys(): print(k) |
【出力結果】
1 2 3 4 5 6 |
dog cat rabbit wolf fox |
values():valueを取得する際に用いる
values()は、辞書型オブジェクトの値を取得するメソッドです。keys()と同じような使い方ができ、辞書型オブジェクトの値一覧を取得するなどの使い方ができます。
1 2 3 4 5 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎", "wolf":"狼", "fox":"狐"} for v in dc1.values(): print(v) |
【出力結果】
1 2 3 4 5 6 |
犬 猫 兎 狼 狐 |
items():keyとvalueのペアを取得する際に用いる
items()は、キーと値をペアで取得するメソッドです。for文を使ってそれぞれを異なる変数に格納したり、タプル型で取り出したりすることができます。
1 2 3 4 5 6 7 8 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎", "wolf":"狼", "fox":"狐"} for k,v in dc1.items(): print("key="+k, "value="+v) for item in dc1.items(): print(item) |
【出力結果】
1 2 3 4 5 6 7 8 9 10 11 |
key=dog value=犬 key=cat value=猫 key=rabbit value=兎 key=wolf value=狼 key=fox value=狐 ('dog', '犬') ('cat', '猫') ('rabbit', '兎') ('wolf', '狼') ('fox', '狐') |
update():keyとvalueのペアを更新する際に用いる
update()は、キーと値のペアの更新、キーが存在しない場合は追加するメソッドです。キーと値をペアで設定し、該当するキーが存在する場合は値が書き換えられ、キーが存在しない場合にはペアが追加されます。
1 2 3 4 5 6 |
dc1 = {"dog":"犬", "cat":"猫", "rabbit":"兎"} print(dc1) dc1.update(dog="いぬ", rabbit="うさぎ", fox="きつね") print(dc1) |
【出力結果】
1 2 |
{'dog': '犬', 'cat': '猫', 'rabbit': '兎'} {'dog': 'いぬ', 'cat': '猫', 'rabbit': 'うさぎ', 'fox': 'きつね'} |
Pythonの辞書型オブジェクトdictは難しくない!
dictの概念は、Pythonを学び始めた方には難しく感じるかもしれません。しかし、この記事を参考に基礎知識を身につければ、そこまで難しいものではないことがわかるでしょう。今後Pythonの学習を進めるにあたり、dictの存在は無視できないため、この機会にdictについて理解を深めてみてはいかがでしょうか。
「もっとPythonの基礎から学びたい」という方には、以下の講座がおすすめです。Pythonの基本操作から動画を使って解説しているため、体系的に基礎知識を身につけることができます。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です!
\無料でプレビューをチェック!/
講座を見てみる評価:★★★★★
pythonの王道のコードを学べただけでなく、さまざまなライブラリの使い方を知ることができました。
評価:★★★★★
一つ一つの項目が必要十分な単位でまとめられているため、後ほど再度学習したい場合に便利です。
機械学習、データサイエンス、Web制作で役立つプログラミングの基礎知識を習得しましょう!
最新情報・キャンペーン情報発信中