※この記事にはプロモーションが含まれています。

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

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

更新日:

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

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

 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数10,000万本突破を記念して、今だけ期間限定で87%オフの大セール中!

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

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

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

 

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

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

In [1]: dict_sales = {'FY2010':32, 'FY2011':48, 'FY2012':67, 'FY2013':75, 'FY2014':92, 'FY2015':103}

 

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

In [2]: dict_sales['FY2012']
Out[2]: 67

 

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

In [3]: list_monthly_sales_FY2012 = [3, 2, 7, 2, 6, 4, 8, 11, 6, 7, 3, 8]
...: dict_sales = {'FY2010':32, 'FY2011':48, 'FY2012':list_monthly_sales_FY2012, 'FY2013':75, 'FY2014':92, 'FY2015':103}

 

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

In [4]: dict_sales['FY2012']
Out[4]: [3, 2, 7, 2, 6, 4, 8, 11, 6, 7, 3, 8]

 

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

In [5]: dict_sales['FY2012'][2]
Out[5]: 7

 

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

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

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

 

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

In [6]: dict_sales = dict(FY2010 = 32, FY2011 = 48, FY2012 = 67, FY2013 = 75, FY2014 = 92, FY2015 = 103)

 

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

 

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

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

 

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

In [1]: dict_sales[‘FY2016’] = 130

 

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

In [2]: dict_sales
Out[2]: {'FY2010':32, 'FY2011':48, 'FY2012':[3, 2, 7, 2, 6, 4, 8, 11, 6, 7, 3, 8], 'FY2013':75, 'FY2014':92, 'FY2015':103, 'FY2016':130}

 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数10,000万本突破を記念して、今だけ期間限定で87%オフの大セール中!

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

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

 

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

In [1]: dict_sales[‘FY2016’] = 125

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

In [2]: dict_sales
Out[2]: {'FY2010':32, 'FY2011':48, 'FY2012':[3, 2, 7, 2, 6, 4, 8, 11, 6, 7, 3, 8], 'FY2013':75, 'FY2014':92, 'FY2015':103, 'FY2016':125}

 

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

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

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

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

 

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

In [1]: del dict_sales[‘FY2016’]

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

In [2]: dict_sales
Out[2]: {'FY2010':32, 'FY2011':48, 'FY2012':[3, 2, 7, 2, 6, 4, 8, 11, 6, 7, 3, 8], 'FY2013':75, 'FY2014':92, 'FY2015':103}

 
 
著書の紹介です。

 

 
 
 
最後に...


Pythonの学習においては、実際に様々なプログラムを書いて試していくことが非常に重要です。Pythonについて、さらに詳しく学ばれたい方は、以下の私のUdemy講座をご検討いただければ幸いです。


Pythonを用いて世界中のWebサイトから自動的にデータ収集する方法を、基礎からていねいに学ぶことができます。Pythonを初めて学ばれた方も、最初に取り組みやすい内容になっています。


>> Pythonによるビジネスに役立つWebスクレイピング
発売数9,000本突破を記念して大セール中!期間限定になりますのでお早めに。
Pythonによるビジネスに役立つWebスクレイピング(BeautifulSoup、Selenium、Requests)講座の画面

既に9,000名以上の方に受講頂き、大変好評です。またコースに満足いただけない場合でも、30日返金保証があるので安心です。

期間限定の割引クーポンは、こちらから!
>> Pythonによるビジネスに役立つWebスクレイピング
   
   





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

Copyright© ビジPy , 2024 All Rights Reserved.