はじめに
前回のPython入門(10)では、Pythonのオブジェクトとリストについて学びました。
Python入門の第十一弾として、Pythonの辞書オブジェクトについて紹介します。
この記事を読むと次の疑問について知ることができます。
それでは、Pythonの辞書オブジェクトをこれから始めようとする初心者向けに分かりやすく解説していきます。
Pythonの辞書オブジェクトとは?
Python入門(3)のPythonで扱えるデータ型でもすでに述べていますが、キーと値をペアとして登録できるデータ構造を言います。
例えば、現在のコロナ禍での感染者数を日本の各都市をキーとして、それぞれの感染者数の値を持つ辞書を登録した場合、日本の都市を指定してやれば指定した都市のコロナ感染者数をすぐに取り出すことができます。
辞書型の特徴はキーを指定すると高速に値を参照できることにあります。
この各都市名とコロナ感染者数のペアは一意であり、同じ都市名のキーで新たに違った感染者数を登録すると上書きされます。
キーと値
前述の日本の各都市名とコロナ感染者数の辞書を考えた場合に、各都市名をキーと呼び、その都市に紐づいた感染者数を値と呼びます。
そして、このキーと値は「:」半角コロンで紐づけます。
上述の例で書くと、「’東京都’:19059」は、東京都をキー、その感染者数19059が値です。
辞書オブジェクトの作成
辞書オブジェクトは、先ほどのキーと値のペア―を波括弧「{」「}」で囲って作成します。
{キー1:値1,キー2:値,……}
キーと値のペアとの間は「,」半角コンマで区切り何個でも繋げて作成できます。
具体的な例を示すと、
ある日の主要な都道府県(東京、大阪、神奈川、埼玉、北海道)のコロナ感染者数を並べて作成すると、次のようになります。(愛知:6351)
todoufukens_coronaNum = {'東京':19059, '大阪':9745, '神奈川':7603, '埼玉':5755, '北海道':1734}
「todoufukens_coronaNum」は主要な都道府県の文字列をキー、その都市の感染者数の値を持った辞書であり、キーを指定してやれば、指定したキーの都市の感染者数を容易に取り出すことができます。
また、キーと値を何も無い空の辞書オブジェクトを作成することもできます。
empty_d1 = {} # 又は
empty_d2 = dict() # dictメソッドを使用した空の辞書オブジェクトの作成
以下は、Google Colabで空の辞書を作成し、それぞれを出力したものです。
辞書オブジェクトの要素の参照
辞書オブジェクト内の要素をどのようにして参照するかと言うと、辞書オブジェクトの名前に[キー名]を付けることにより参照できます。
辞書オブジェクト名[キー名]
例えば、先に作成した辞書オブジェクトで各都市とコロナ感染者数の場合で、北海道の感染者数を参照したい場合は、次のようになります。
todoufukens_coronaNum['北海道']
ここで、辞書オブジェクト内に無いキーを指定した場合はエラーになりますので注意しましょう。
以下は、Google Colabで書いたものです。
辞書オブジェクト内の要素の操作
辞書オブジェクト内の要素の操作には、要素の追加、削除、置換などが行えます。
要素の追加及び置換
辞書に要素を追加したり置換する場合には、次のようにします
辞書オズジェクト名[キー名] = 値
例として、先の都道府県とコロナ感染者数の辞書オブジェクトに沖縄とその感染者数を追加してみましょう。
また、東京都の感染者数を変更して「18919」に変更して見ます。
要素の削除
辞書オブジェクト内の要素を削除したい場合は、del 文を用います。
del 文の構文は次の通り。
del 辞書オブジェクト名[キー名]
例題として、先ほど置換した沖縄と沖縄のコロナ感染者数を削除して見ましょう。
辞書オブジェクトの要素数
辞書オブジェクトの要素数は、リストオブジェクトの要素数を求める場合と同じ「len」を使います。
先程の都道府県のコロナ感染者数の辞書オブジェクトの数を求めてみましょう。
in 演算子
「in 演算子」は、辞書内のキーが「ある」か「ない」かを調べることができます。
キー名 in 辞書オブジェクト名
「ある」場合は「True」を、「ない」場合は「False」を返します。
例題として、先ほど都道府県のコロナ感染者数の辞書オブジェクトで、東京の場合(辞書オブジェクト内にあるので「True」)と沖縄の場合(辞書オブジェクトにないので「False」)を返します。
in 演算子を使った簡単な例題
ここでは、「in 演算子」を使って簡単な例題を作成してみましょう。
input文で都市を入力し、その都市が辞書オブジェクトに「あれ」ば、その都市のコロナ感染者数を表示し、「なけれ」ば、その都市のコロナ感染者数を入力し、入力したあとでその都市とコロナ感染者を表示するプログラムを作成してみます。
この例では、沖縄を入力し、辞書オブジェクトには「ない」のでコロナ感染者数を入力し表示させています。
おわりに
如何だったでしょうか?
Pythonの辞書オブジェクトとは?、キーと値、辞書オブジェクトの作成、辞書オブジェクトの要素の参照、辞書オブジェクト内の要素の操作、要素の追加及び置換、要素の削除、辞書オブジェクトの要素数、in 演算子、in 演算子を使った簡単な例題などについて解説してきました。
この記事を読みながらPythonを学んでもらえればと思います。
次をお楽しみに?
以上です。
コメント