標準ライブラリ データ型 辞書操作

【Python】辞書操作:辞書の作成

嫁ちゃん
嫁ちゃん
今回は「辞書型 (dictionary)」の使い方ですね。
リスト型と似ているようですが、どういう違いがあるの?
わたし
わたし
リスト型と似ているね。リストの各要素に見出しが付いたような感じかな。
PHPなどではおなじみの「連想配列」と同じような扱いができるよ。

辞書とは?

辞書は他の言語にも “連想記憶 (associated memory)” や “連想配列 (associative array)” という名前で存在することがあります。ある範囲の数でインデクス化されているシーケンスと異なり、辞書は キー (key) でインデクス化されています。このキーは何らかの変更不能な型になります。文字列、数値は常にキーにすることができます。タプルは、文字列、数値、その他のタプルのみを含む場合はキーにすることができます。
5.5. 辞書型 (dictionary) – Python3.8.1 ドキュメント

辞書の作成(初期化)

空の作成

Python
dic = {} print(dic)
実行結果
{}

初期値を指定して辞書を作成

Python
dic = {'name': 'yamada', 'age': '20'} print (dic) print (dic['age'])

キーを指定してして値を取得します。

実行結果
{'name': 'yamada', 'age': '20'} 20

初期値(多次元)を指定して辞書を作成

辞書の中に、辞書を書くことで多次元の辞書になります。

Python
dic = { 0: {'name': 'yamada', 'age': 20}, 1: {'name': 'tanaka', 'age': 30}, 2: {'name': 'yamamoto', 'age': 10} } print(dic) print(dic[1]['age'])

辞書の中の辞書の要素(name と age)が定義時点と逆になっていますね。
定義時の順番はかならずしも実行時に同じとは限らないということになります。

実行結果
{0: {'age': 20, 'name': 'yamada'}, 1: {'age': 30, 'name': 'tanaka'}, 2: {'age': 10, 'name': 'yamamoto'}} 30
嫁ちゃん
嫁ちゃん

辞書とリストの作成方法はとても似ていましたね。

わたし
わたし

リストは「[」や「]」の角括弧、辞書は「{」や「}」の波括弧ですね。

要素の順番は必ずしも作成された順番ではないことも気を付けたいね。

嫁ちゃん
嫁ちゃん

要素の順番を保持したい場合はどうするの?

わたし
わたし

標準ライブラリのモジュール「collections」の「OrderDict」というものがあるよ。

それはまた後ほど。

この記事がお役に立てましたら幸いです。
人気ブログランキングに参加しております。
よろしければクリックしていただけると嬉しいです。
にほんブログ村 IT技術ブログ Pythonへ
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。

コメント

タイトルとURLをコピーしました