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

目次

1時間でできる無料体験!

そもそも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] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

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

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

今回は、名前がキー、年齢が値となった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

解説

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

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

 

コラム

コスパとタイパ、両方結果的に良くなる良くなる学び方とは?

「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ 結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。

コスパ・タイパ最適化の参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困ったときに、質問や相談できる相手がいるため挫折しなかった
  • ・プロとして必要なスキルのみを深く学べたので無駄がなかった
  • ・副業案件の提供と納品までのサポートがあったので目的を達成できた

安価・短期間で広く浅く学んでも意味がありません。 本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に 無料相談 に参加してみませんか?

カウンセラー・現役のプロへ、何でも気軽に無料相談可能。 30分か60分お好きな時間が選べて、かつ3回まで すべて無料で ご利用できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

まとめ

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

Pythonを学習中の方へ

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

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

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

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

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

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

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

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する