嫁ちゃん
今回は「辞書型 (dictionary)」の使い方ですね。
リスト型と似ているようですが、どういう違いがあるの?
リスト型と似ているようですが、どういう違いがあるの?
わたし
リスト型と似ているね。リストの各要素に見出しが付いたような感じかな。
PHPなどではおなじみの「連想配列」と同じような扱いができるよ。
PHPなどではおなじみの「連想配列」と同じような扱いができるよ。
目次
辞書とは?
辞書は他の言語にも “連想記憶 (associated memory)” や “連想配列 (associative array)” という名前で存在することがあります。ある範囲の数でインデクス化されているシーケンスと異なり、辞書は キー (key) でインデクス化されています。このキーは何らかの変更不能な型になります。文字列、数値は常にキーにすることができます。タプルは、文字列、数値、その他のタプルのみを含む場合はキーにすることができます。
5.5. 辞書型 (dictionary) – Python3.8.1 ドキュメント
辞書の作成(初期化)
空の作成
dic = {}
print(dic)
{}
初期値を指定して辞書を作成
dic = {'name': 'yamada', 'age': '20'}
print (dic)
print (dic['age'])
キーを指定してして値を取得します。
{'name': 'yamada', 'age': '20'}
20
初期値(多次元)を指定して辞書を作成
辞書の中に、辞書を書くことで多次元の辞書になります。
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」というものがあるよ。
それはまた後ほど。
それはまた後ほど。
[A8_TechAcademy065]
[Footer]