icon
icon

Pythonのdict型オブジェクトを初期化する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのdict型オブジェクトを初期化する方法について現役エンジニアが解説しています。dict型というのは、辞書型や連想配列と呼ばれることもあるオブジェクトで、リスト型と同じように複数の値を保持することのできるデータ型です。Pythonの辞書型を初期化する方法を解説します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

監修してくれたメンター

清水 源一郎

企業勤務の研究者として、機械学習やデータサイエンスを活用した製品開発を行っている。
テックアカデミーでは、Pythonコース、AIコース、データサイエンスコースを担当。

Pythonのdict型オブジェクトを初期化する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

目次

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのdict型オブジェクトを初期化する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

この記事では、Pythonにおけるdict型のオブジェクトの扱い方について解説します。

 

dict型とは

dict型というのは、「辞書型」などと呼ばれることもあるオブジェクトで、リスト型などと同じように複数の値を保持できるデータ型です。

リスト型が単に複数の値を保持するのに対して、dict型では値とその値に対応する「キー」と呼ばれる値を保持しています。

 

例えば、名前をキーに、年齢を値として持っているdict型としてsample_dictという変数を考えてみます。

この場合、キーは文字列型のオブジェクトとなり、以下のようにキーを指定すると、”Kato”さんの年齢を取得できます。

sample_dict["Kato"]

 

同様に下記のように指定すると、”Sato”さんの年齢を取得できます。

sample_dict["Sato"]

リスト型は単にデータだけを持っている配列なので、データの取得にはインデックス番号を指定する必要がありましたが、辞書型では各値に対して名前のようなものとしてキーを指定できるので、インデックス番号を考えずに値を取得できるというメリットがあります。

今回の例の名前と年齢のように、キーと値の対応にしっかりとした意味がある場合などには、プログラムコードが読みやすくなることもあります。

 

dict型オブジェクトを初期化する方法

では、dict型オブジェクトの作り方を説明します。

dict型オブジェクトを初期化する3つの方法を順番に紹介します。

  1. {}を使う方法
  2. dict()を使う方法
  3. fromkeys()メソッドを使う方法

 

1. {}を使う方

キーと値を指定して、最も簡単に辞書を作る方法です。

sample_dict1 = {キー1 : 値1, キー2 : 値2, キー3 : 値3, キー4 : 値4}

上記のように、全体を{}で囲い、キーと値を:(コロン)で挟んで渡せばdict型オブジェクトを初期化できます。

 

それぞれの値を取得したい場合には、下のようにしてキーに対応した値を取得できます。

sample_dict1[キー]

 

2. dict()を使う方法

dict型のコンストラクタであるdict()を使う方法です。

基本となる使い方を以下に示します。

sample_dict2 = dict(キー1=値1, キー2=値2, キー3=値3, キー4=値4)

対応するキーと値を=で結びつけて渡します。

この時キーは、文字列ではなく、変数名として与えるため””がつかないことに注意しましょう。

 

また、dict()では、キーと値のペアのタプルを要素とするリストから辞書を作ることもできます。

sample_dict3 = dict([(キー1, 値1), (キー2, 値2), (キー3, 値3), (キー4, 値4)])

 

これを応用すると、対応するキーと値が順番に入ったキーのリスト、値のリストの2つからzip関数で辞書を作ることもできます。

sample_dict4 = dict(zip(キーのリスト, 値のリスト))

 

3. fromkeys()メソッドを使う方法

dict型のメソッドfromkeys()を使うと、複数のキーに同じ値を当てはめた辞書を簡単に作ることができます。

sample_dict5 = dict.fromkeys(キーのリスト, 値)

リストで指定したキーにすべて同じ値を設定します。

 

[PR] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

それでは、実際にプログラムコードを書いてみましょう。

まずは、{}を使って辞書をつくり、辞書の値を参照する例を紹介します。

今回は、名前がキー、年齢が値となったdict型を作成します。

サンプルコード1

dict_name_age = {"Kato" : 20, "Sato" : 19, "Ito" : 30, "Muto" : 44}
name = "Kato"
print(name + "さんの年齢は" + str(dict_name_age[name]) +"歳です。")

結果

Katoさんの年齢は20歳です。

解説

まず1行目で、名前と年齢の入ったdict型を作っています。

そして2行目で、print()で使うために、年齢を取得したい人の名前を文字列型として用意します。

ここで名前を変数として用意しておくことで、変数部分を変えることでprint()で出力される人の名前と年齢をすぐに変えることができます。

最後に3行目で「〇〇さんの年齢は△歳です。」と表示されるように、print()を使っています。

 

次に、辞書を初期化する他の方法の具体例を見ていきましょう。

サンプルコード2

#dict()の基本的な使い方
dict_name_age2 = dict(Kato=20, Sato=20, Ito=20, Muto=20)

#dict()でリストから辞書を作る方法
dict_name_age3 = dict([("Kato", 20), ("Sato", 20), ("Ito", 20), ("Muto", 20)])

#dict()とzipで2つのリストから辞書を作る方法
name_list = ["Kato", "Sato", "Ito", "Muto"]
age_list = [20, 20, 20, 20]
dict_name_age4 = dict(zip(name_list, age_list))

#dictfromkeys()を使う方法
dict_name_age5 = dict.fromkeys(name_list, 20)

print(dict_name_age2)
print(dict_name_age2 == dict_name_age3 == dict_name_age4 == dict_name_age5)

結果

{'Kato': 20, 'Sato': 20, 'Ito': 20, 'Muto': 20}
True

解説

紹介したそれぞれの方法で同じ辞書を作成しています。

すべての辞書の内容が同じであることを最後に確認しています。

 

まとめ

以上、この記事ではPythonにおけるdict型の初期化と値の取得方法について解説しました。

辞書型は便利なオブジェクトなのでぜひ使ってみてください。

 

大石ゆかり

内容が分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

Pythonを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのPythonコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、人工知能(AI)や機械学習の基礎を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!