Pythonで辞書(ディクショナリ)型を使う方法【初心者向け】
初心者向けにPythonで辞書を使う方法について解説しています。辞書は、ディクショナリ型と呼ばれる配列の一種です。詳しい書き方とサンプルプログラムを書いて説明しています。実際に自身でも書きながら理解してみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,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と設定しました。
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で辞書(ディクショナリ)を使う方法を解説しました。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。
小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。 |
入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。
小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。 |
また、オンラインのプログラミングスクールTechAcademyではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。
初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。
独学に限界を感じている方はぜひご覧ください。