icon
icon

Pythonの辞書オブジェクトの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPythonの辞書オブジェクトの使い方について現役エンジニアが解説しています。辞書とは、キーと値のペアを登録できるデータ構造です。dictメソッドや{}で辞書を初期化することが出来ます。データにはキー名で、キー名はkeys()でアクセスすることが出来ます。

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

Pythonの辞書オブジェクトの使い方について解説します。

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

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonの辞書オブジェクトの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

辞書オブジェクト (dictionary object)とは

辞書とは、キーと値のペアを登録できるデータ構造です。

例えば、文章中で単語の出現回数をカウントするために辞書を用いる場合、単語をキー、出現回数を値とします。登録キー数が増えても、対応する値を高速に参照できることが特徴です。

辞書内でキーは一意です。あるキーAと値Bのペアを登録している状態で、キーAと値Cを登録すると、上書き登録になります。
 

辞書オブジェクト (dictionary object)の使い方

以下のように辞書を初期化します。
dictメソッド、もしくは{}で空の辞書を生成します。初期化時点でキーと値のペアを登録することもできます。
 

d = dict()
d = {}
d = {'abc':0, 'def':1}

 
辞書にキーと値のペアを登録する方法です。
キーの型は任意です(数値、文字列などなど)。ただし、ハッシュ可能オブジェクト(__hash__)であることが条件です。

辞書にキーでアクセスし、値を取り出す方法です。
辞書がキーを含まない場合、KeyError例外が発生します。

 

value = d[key]

 

辞書のキーを全て取り出すには、keysメソッドやforループを使います。
 

keys = d.keys()
for k in d:
  # 変数kで順番にキーを参照できる

 

他の用法については、公式のリファレンスを参照してください。
 

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

実際に書いてみよう

サンプルコード

d = dict()

d['one'] = 1
d['two'] = 2
d['three'] = 3

print(d['one'])

try:
  print(d['four'])
except KeyError:
  print('キーがありません')

for k in d:
  print('%s -> %d' % (k, d[k]))

 

実行結果

1
キーがありません
one -> 1
two -> 2
three -> 3

 

解説

  • はじめにdictメソッドで辞書を初期化
  • 続けてone, two, threeというキーに対し、1,2,3という値を割り当
  • oneというキーで辞書にアクセスし、1という値を取り出せることを確認
  • fourというキーで辞書にアクセス
  • 辞書はfourというキーを含まないので、KeyError例外が発生
  • for文で辞書のキーに順番にアクセス
  • 対応する値を取り出し表示

(注)辞書のキーに順番にアクセスする場合、登録した順になることは保証されません。今回は偶然に登録した順(one, two, three)となりました。

 

監修してくれたメンター

橋本紘希

システムインテグレータ企業勤務のシステムエンジニア。

開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。