pythonの辞書(ディクショナリ)型について

Pythonの辞書(ディクショナリ)型の使い方

辞書(ディクショナリ)型とは、1組のデータを「キー」と呼ばれる識別子とそれに対応する「値」を合わせて管理するデータ型です。

辞書型のオブジェクトを作成するには以下のように記述します。

{キー1:値,キー2:値,キー3:値,・・・}

「{ }」で囲んだ中に要素を「,」で区切って記述します。キーと値は「:」で区切って記述します。

キーには通常重複しない文字列を使用します。Listのインデックスの代わりにキーを使って要素を識別することになります。

ListやTupleはシーケンス型に分類されるのに対して、辞書はマッピング型に分類されます。

主な組み込み型

主な組み込み型には以下のようなものがあります。

  • 数値型
    • 整数
    • 浮動小数点
    • 複素数
  • シーケンス型
    • 文字列
    • List
    • Tuple
  • マッピング型
    • 辞書(ディクショナリ)
  • イテレータ型
    • ジェネレータ

辞書の作成例

「国語、数学、英語」のキーに、それぞれの点数を値とする辞書を作成してみます。

>>> score = {"kokugo":80,"suugaku":73,"eigo":92}
>>> score
{'suugaku': 73, 'kokugo': 80, 'eigo': 92}

上記結果を見ると分かるとおり、辞書オブジェクト内の要素の順番は、作成した順番通りに記憶されていません。要素の順番は、キーと値から「ハッシュ値」が生成され、そのハッシュ値を元に決まるため、作成した順番と通りに記憶されることはありません。

特定の要素の値を表示する場合は、キーを指定することで抜き出すことが可能です。

>>> score["suugaku"]
73

辞書(ディクショナリ)の操作

辞書の要素数を調べる

辞書の要素の数を調べるには、ListやTupleと同じようにlen()で調べることができます。

>>> score = {"kokugo":80,"suugaku":73,"eigo":92}
>>> len(score)
3

値の変更

辞書はListと同じくミュータブルなので、値の変更が可能です。

>>> score["suugaku"]
73

#値を95に変更する
>>> score["suugaku"] = 95
>>> score["suugaku"]
95

要素を追加する

キーと値のペアを追加する場合は、使用していないキーを指定して値を設定します。

>>> score
{'suugaku': 95, 'kokugo': 80, 'eigo': 92}
>>> score["rika"] = 65
>>> score
{'suugaku': 95, 'kokugo': 80, 'eigo': 92, 'rika': 65}

要素を削除する

要素を削除するにはdelコマンドを使用します。

>>> score
{'suugaku': 95, 'kokugo': 80, 'eigo': 92, 'rika': 65}
>>> del score["rika"]
>>> score
{'suugaku': 95, 'kokugo': 80, 'eigo': 92}

使用しているキーを調べる

辞書の中で指定したキーを使用しているかどうかを調べるには、in演算子を使用します。

キーが存在していればTrueを、存在していなければFalseを返します。

>>> score
{'suugaku': 95, 'kokugo': 80, 'eigo': 92}
>>> "eigo" in score
True
>>> "syakai" in score
False

関連記事

メールマガジン

ネットワ-ク初心者のみなさま。
ネットワークの基礎知識を疎かにすることは
大変危険です!!

「初心者にも理解できるネットワーク技術」

これを読めばネットワークの基礎が分かる!!
ネットワーク関連の仕事に就きたいとお考えの学生の方や、ネットワークに興味があって転職を考えている社会人の方、まずは登録してみてください。

もちろん無料です!!

↓メールマガジン購読はこちら↓

メールアドレス: