辞書

Python基礎・辞書
スポンサーリンク
スポンサーリンク

Pythonの辞書の扱い方について解説します。

辞書は、キーとなる値(key)とバリューとなる値(value)をセットで1つの要素として持つことができます。この辞書を利用する事で、あるデータ(key)に対応する関連データ(value)を登録できるようになります。
実際の英単語の辞書などでは、調べたい単語「Black」(キー) に対して、結果として「黒」(値) を返します。Pythonの辞書もこのようなイメージになります。

スポンサーリンク

辞書を作成する

辞書は { } の間に、複数の要素をカンマ(,)で区切って、キー:値 定義します。

{キー1:値1, キー2:値2, …}

また辞書の値にはリストやタプルを入れることもできます。

辞書から要素を取得する

辞書の要素を取得するには、取得したい要素に対応するキーを指定することで取得することができます。

辞書オブジェクト[キー]

辞書内のリストを操作する

辞書内リストの要素を取得する場合は、 以下のように指定します。

辞書オブジェクト[キー][リストのインデックス番号]

またリストの要素は後から変更が可能です。
以下の例では辞書の2番目の要素にリストを格納し、後からリストの1番目の要素を変更しています。

要素の指定の方法は2次元配列の操作と同じで、dict_temp['CPU']で辞書の2番目の要素であるリスト['Intel Core i5', '2.8GHz']を取り出し、さらに[1]でリストの2番目の要素を指定して、'3.4GHz'を代入しています。


次に辞書内リストに要素を追加してみます。
要素を追加するには、リストの操作と同様にappend()メソッドを使用します。

・関連記事:リスト(配列)- リストに要素を追加する

辞書の要素数を調べる

辞書の要素数を調べる場合は、len()メソッドを使用します。要素数は キー:値 のセットの数をカウントし、値の要素に含まれるリスト等の要素数はカウントされません。

辞書の追加と変更

辞書に要素を追加するときは、以下のように記述します。

 辞書オブジェクト[キー] = 値

値を変更する場合も同じように記述します。

要素の削除

辞書の要素を削除するにはdel文を使用します。

del 辞書オブジェクト[キー]

指定した要素が存在しない場合は、keyerror というエラーが発生します

辞書内の要素を検索する

辞書内に特定のキーが存在するか調べる場合は、in演算子を使用します。
キーが存在する場合はTrue、存在しない場合はFalseを返します。

 キー in 辞書オブジェクト

辞書の要素をソートする

辞書を並べ替えるには、items()メソッドでキーと値の組み合わせを取得してから、sorted()関数に渡します。並び替えた結果はタプルのリストとして出力されます。
リストでは並び替えた状態に更新されるsort()が使用できますが、辞書では使用できません。
・関連記事:リスト(配列)

キーで並び替えるには以下のように記述します。

リストオブジェクト = sorted(辞書オブジェクト.items())

デフォルトは昇順に並び替えます。降順に並び替える場合は引数にreverse=Trueを指定します。

値で並び替えるには、ラムダ式を用いて以下のように記述します。

 リストオブジェクト = sorted(辞書オブジェクト.items(), key=lambda x:x[1])

sorted()の第二引数keyでソートの基準を変更する事ができます。そこにラムダ式lambda x:x[1]で2番目の要素を指定することで、値で並び替えることができます。

Pythonの辞書について解説しました。

・関連記事:リスト(配列)
・関連記事:タプル