09. ディクショナリ(Dictionary)

PythonにおけるDictionary(辞書)の使い方

更新日:

dictionary(辞書)は、基本的にはリストと同じような構造ですが、キーと呼ばれる値と各要素の値をセットで1つの要素として持つことができるのが特徴です。

キーと紐付けて値を登録することで、年度をキーに売上を登録するなど、取り出しやすいかたちでデータを格納することができます。

 

著書紹介(清水 義孝)

好評発売中!!

Pythonのディクショナリの特徴と定義方法

ディクショナリには以下の特徴があります。

  • リストやタプルと同じく複数の要素から構成されています。但し、要素間には順序はなく、インデックスで要素を取り出すことはできません。代わりに各要素にはキーと呼ばれる値と合わせて登録します。
  • ディクショナリの記述は、括弧{}で囲んだ中に数値や文字列などの値とキーのペアで、カンマ','で区切って記述します。
dictionary = {キー1:値1, キー2:値2, キー3:値3, ……}
  • 値はキーを利用して検索します。
dictionary[キー]
  • ディクショナリの値にタプル、配列を格納することもできます。

 

それでは実際にディクショナリに値を格納し、検索している例を見ていきましょう。

例1 年度毎の売上をディクショナリdic_salesに格納した例は以下になります。年度をキーに売上を登録しています。例えばFY2002は、年度'FY2002'をキーとして、:(コロン)の後に売上67を登録しています。

In [1]: dic_sales = {'FY2000':32, 'FY2001':48, 'FY2002':67, 'FY2003':75, 'FY2004':92, 'FY2005':103}

 

先ほどディクショナリdic_salesに登録した年度毎の売上の内、'FY2002'の値を確認するには、dic_sales['FY2002']と入力します。売上67が正しく表示されたことがわかります。

In [2]: dic_sales['FY2002']
Out[2]: 67

 

例2 ディクショナリの値には、リストやタプルも格納することができます。例えば、FY2012の月別の売り上げを格納したリストlist_month_sales_FY2012を定義し、ディクショナリdic_salesに対してキー'FY2002'と合わせて登録してみます。

In [3]: list_month_sales_FY2012 = [3, 2, 7, 2, 6, 4, 8, 11, 6, 7, 3, 8] ...: dic_sales = {'FY2000':32, 'FY2001':48, 'FY2002':list_month_sales_FY2012, 'FY2003':75, 'FY2004':92, 'FY2005':103}

 

'FY2002'の値を確認すると、先ほど登録したリストの値が表示されました。

In [4]: dic_sales['FY2002']
Out[4]: [3, 2, 7, 2, 6, 4, 8, 11, 6, 7, 3, 8]

 

また次のようにインデックスを指定することで、リストの内、特定の値を取得することもできます。ここでは[2]と指定することで、リストの3番目の値7を取得しています。

In [5]: dic_sales['FY2002'][2]
Out[5]: 7

 

またディクショナリの定義は、dictを利用して次のように記述することもできます。

dictへの引数に、数値や文字列などの値とキーのペアを=(イコール)で対応付けて記述します。

dictionary = dict(キー1 = 値1, キー2 = 値2, キー3 = 値3, ……}

 

先ほどの例1と同様に、年度毎の売上をdictを使ってディクショナリdic_salesに格納した例は以下になります。

In [6]: dic_sales = dict(FY2000 = 32, FY2001 = 48, FY2002 = 67, FY2003 = 75, FY2004 = 92, FY2005 = 103)

 

「キー = 値」となっていることから直感的にわかりやすく、dictを使ってディクショナリを定義している場合もありますので、紹介しました。

 

著書紹介(清水 義孝)

好評発売中!!

Pythonのディクショナリへの要素の追加

ディクショナリへの要素の追加は存在していないキーを指定して値を代入すると、キーと値をペアとする新しい要素が追加されます。

 

例えば、先ほど作成したディクショナリdic_salesに対して、FY2006の売上130を追加するには、キー’FY2006’とその値130をペアで代入します。

In [1]: dic_sales[‘FY2006’] = 130

再度、ディクショナリdic_salesの中身を確認すると、キー’FY2006’とその値130がペアで登録されていることがわかります。

In [2]: dic_sales

 

Out[2]: dic_sales = {'FY2000':32, 'FY2001':48, 'FY2002':list_month_sales_FY2012, 'FY2003':75, 'FY2004':92, 'FY2005':103, 'FY2006':130}

 

著書紹介(清水 義孝)

好評発売中!!

Pythonのディクショナリの値の変更

ディクショナリに格納した値の変更はキーを指定して変更値を代入します。

 

例えば、ディクショナリdic_salesに対して、先ほど追加したFY2006の売上130を125に変更するには、キー’FY2006’に対して変更後の値125をペアで代入します。

In [1]: dic_sales[‘FY2006’] = 125

再度、ディクショナリdic_salesの中身を確認すると、キー’FY2006’の値が125に変更されていることがわかります。

In [2]: dic_sales
Out[2]: dic_sales = {'FY2000':32, 'FY2001':48, 'FY2002':list_month_sales_FY2012, 'FY2003':75, 'FY2004':92, 'FY2005':103, 'FY2006':125}

 

Pythonのディクショナリの値の削除

ディクショナリに格納した値の削除は、del文を利用します。

del文の記述は、以下のようにディクショナリに対して、削除したい値のキーを指定します。

del ディクショナリ[キー]

 

例えば、ディクショナリdic_salesに対して先ほど追加したキー’FY2006’と売上125のペアを削除するには、del文を用いて以下のように記述します。

In [1]: del dic_sales[‘FY2006’]

再度、ディクショナリdic_salesの中身を確認すると、キー’FY2006’とその値125のペアが削除さていることがわかります。

In [2]: dic_sales
Out[2]: dic_sales = {'FY2000':32, 'FY2001':48, 'FY2002':list_month_sales_FY2012, 'FY2003':75, 'FY2004':92, 'FY2005':103}

 
 
著書の紹介です。

 

-09. ディクショナリ(Dictionary)

Copyright© AI-interのPython3入門 , 2019 All Rights Reserved.