Pythonで辞書(ディクショナリ)型を使う方法【初心者向け】

初心者向けにPythonで辞書を使う方法について解説しています。辞書は、ディクショナリ型と呼ばれる配列の一種です。詳しい書き方とサンプルプログラムを書いて説明しています。実際に自身でも書きながら理解してみてください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、Pythonで辞書を使う方法を解説します。

ディクショナリ型の使い方について説明しているので、詳しく見ていきましょう。

 

なお本記事は、TechAcademyのPythonオンライン講座の内容をもとにしています。

 

Pythonの辞書とは

Pythonの辞書とは、ディクショナリ(dictionary)型と呼ばれる配列の一種です。

任意の数の要素を代入でき、作成後、要素の追加や削除ができます。keyとvalueの2つで1つの要素という考え方で、1つのディクショナリの中で同じkeyを使用することができません。

 

配列とは

配列とは、配列は複数の値を一つの名前(変数名)と添え字によって管理する事ができます。

変数の場合は、1つの変数に1つの値しか代入できませんが、配列は添字を使用することで複数の値を代入することが、大きく違います。

配列の種類

  • リストは [ ] (角括弧)を使用します。任意の数の要素を代入でき、作成後、要素の追加や削除ができます。
  • タプルは ( ) (括弧)を使用します。任意の数の要素を代入できますが作成後、要素の追加や削除ができません。
  • ディクショナリは { } (中括弧)を使用します。任意の数の要素を代入でき、作成後、要素の追加や削除ができます。keyとvalueの2つで1つの要素という考え方で、1つのディクショナリの中で同じkeyを使用することができません。
  • セットは { } (中括弧)を使用します。任意の数の要素を代入でき、作成後、要素の追加や削除ができます。1つのセットの中で重複した要素を使用することができません。

今回はディクショナリ(辞書)の解説をします。

ディクショナリ以外の配列に関しては、Pythonで配列を使う方法をご覧ください。

 

Pythonの辞書(dictionary)の書き方

a = {'techacademy': 10, 'online': 20, 'programming': 30}

辞書(ディクショナリ)に文字列と数字がセットになった要素を「:」で区分けしています。

要素と要素は「,」のカンマ区切りで分割しています。

また、辞書(ディクショナリ)は格納した要素に順番の概念が無いため、表示する時順番に表示されません。

keyとvalueの2つで1つの要素という概念ですので、表示するときもkeyを使って各要素を識別します。

今回はtechacademyをkeyとし10をvalueとして設定してみました。

同様にonlineとprogrammingをkeyとして、それに対応するvalueを「:」で区切ることで20と30と設定しました。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

Pythonの辞書(dictionary)を実際に書いてみよう

先程書いたa = {‘techacademy’: 10, ‘online’: 20, ‘programming’: 30}を表示するコードを書いてみましょう。

 

辞書(dictionary)型配列の表示プログラムソースコード

a = {'techacademy': 10, 'online': 20, 'programming': 30}
print a
print a.keys()
print a.values() 
print a.items()

 

表示結果

{'programming': 30, 'techacademy': 10, 'online': 20}
['programming', 'techacademy', 'online']
[30, 10, 20]
[('programming', 30), ('techacademy', 10), ('online', 20)]

以下でソースコードの中身について詳しく解説しています。

1行目ではさきほど同様にaという辞書(dictionary)型配列にkeyとvalueがペアになった値を格納しました。

2行目のprint aでは、辞書(dictionary)型配列aの内容を全て表示します。同じように全てを表示するprint a.items()とは表示結果の表記が異なります。

3行目のprint a.keys()では、辞書(dictionary)型配列aのkey部分だけを表示します。

3行目のprint a.values() では、辞書(dictionary)型配列aのvalue部分だけを表示します。

3行目のprint a.items()では、辞書(dictionary)型配列aの内容を全て表示します。同じように全てを表示するprint aとは表示結果の表記が異なります。

 

今回は、Pythonで辞書(ディクショナリ)を使う方法を解説しました。

入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。

 

また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

独学に限界を感じている方はぜひご覧ください。