【Day6】Python入門 2.3:ディクショナリ

目次

要約

本日は、Pythonで以下を学びました。

ディクショナリの特徴・定義

ディクショナリはそれぞれの要素に対してキー(key)と呼ばれる見出し情報を付けることができる

ディクショナリの定義、要素参照・追加・変更・削除・合計

#ディクショナリの定義、要素を参照・追加・変更・削除・合計していきます
scores = {'network' :60 , 'database' :80 , 'security' :50} #定義
scores['programing'] = 65 #追加
scores['test'] = 100 #追加
scores['security'] = 55 #変更
del scores['test'] #削除
print(sum(scores.values())) #合計、参照

はじめに

前回は「コンテナとリスト」について学びました。

​今回は、ディクショナリについて学習します。


ディクショナリ

ディクショナリの特徴

ディクショナリ(dictionary)もリスト同様に、複数のデータをひとまとまりに集めて管理する道具です。

しかし、ディクショナリはそれぞれの要素に対してキー(key)と呼ばれる見出し情報を付けることができます

ディクショナリの作成

{} (波カッコ)の中にカンマ区切りで値を並べて、ディクショナリを作成していきます。

また、ディクショナリに格納する各要素を、キー:値の形式で指定していきます。

ディクショナリを使って、試験の点数をまとめていきましょう。

#ディクショナリを使って、試験の点数をまとめていきます
scores = {'network' :60 , 'database' :80 , 'security' :50}
print(scores)

ディクショナリの定義

変数 = {キー1 : 値1 , キー2 : 値2 , ・・・}

※キーと値の対応をコロンで指定する。

なお、各要素に付けるキーは、次のようなルールに従って開発者が自由に決められます。

・キーには、文字列のほか数値型など、さまざまな型のデータを指定できる

・キーのデータ型は要素ごとに異なってもよい

・キーの重複も許される(ただし、最後に指定したもの以外は無視される)。
※キーが重なってもエラーとはならないが、基本的に重複不可と考えるべきである。

ディクショナリを使うと何の値か分かりやすくなりますね!


ディクショナリ要素の参照

ディクショナリの要素を指定するには、要素に設定したキーを使用します。

#ディクショナリの要素を参照していきます
scores = {'network' :60 , 'database' :80 , 'security' :50}
print(scores['database'])

ディクショナリの要素を指定

ディクショナリ [キー]

※キーは大文字/小文字を区別する。

スペルミスでエラーが発生するので要注意ですね!


ディクショナリ要素の追加・変更・削除

ディクショナリの要素を追加するには、ディクショナリ[新しいキー] = 新しい値

ディクショナリの要素を変更するには、ディクショナリ[変更したい要素のキー] = 変更後の値

ディクショナリの要素を削除するには、del文という特殊な構文を用います。

要素をそれぞれ追加・変更・削除してみましょう。

#ディクショナリの要素を追加・変更・削除していきます
scores = {'network' :60 , 'database' :80 , 'security' :50}
scores['programing'] = 65 #追加
scores['test'] = 100 #追加
scores['security'] = 55 #変更
del scores['test'] #削除
print(scores)

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

ディクショナリ [新しいキー] = 新しい値

ディクショナリの既定の要素を変更

ディクショナリ [変更したい要素のキー] = 変更後の値

ディクショナリの要素を削除

del ディクショナリ [削除したい要素のキー]

リストよりも使い勝手が良さそうですね!


ディクショナリとリストの比較

ディクショナリとリストにはそれぞれ、メリットデメリットがあります。

以下を参考に、使い分けると良いでしょう。

リストとディクショナリの使いどころ

複数のデータを単にまとめて管理したい場合や、順序を持つ複数のデータを管理したい場合にはリストを使う。

順序を持たない複数のデータに見出しを付けて管理したい場合には、ディクショナリを使う。

※ディクショナリに関して、Python 3.7からは順序性が保証されているが、3.6 以前は順序性が保証されていないため注意が必要。

ディクショナリの合計

ディクショナリでは直接sum関数を使用して格納している値の合計を求めることができません。

.values()を使用して、sum ( ディクショナリ.values() ) のように求めることはできます。

リストとディクショナリの違いを踏まえたうえで選択していく必要がありますね!


まとめ

本日は、Pythonで以下を学びました。

ディクショナリの特徴・定義 

ディクショナリはそれぞれの要素に対してキー(key)と呼ばれる見出し情報を付けることができる

ディクショナリの定義、要素参照・追加・変更・削除・合計 

#ディクショナリの定義、要素を参照・追加・変更・削除・合計していきます
scores = {'network' :60 , 'database' :80 , 'security' :50} #定義
scores['programing'] = 65 #追加
scores['test'] = 100 #追加
scores['security'] = 55 #変更
del scores['test'] #削除
print(sum(scores.values())) #合計、参照

次回は「タプルとセット」を扱っていきます。


データベース作成とかに使えそうですね!

目次