Python 辞書 (Dictionaries)
1. Python 辞書 (Dictionaries)
辞書(ディクショナリ)は、データ値を「キー:値(key:value)」のペアで格納するために使用されます。
辞書は、順序付けられており(Python 3.7以降)、変更可能で、重複を許さないコレクションです。
辞書は波括弧 {} を使って記述され、キーと値を持ちます。
1.1 辞書の作成と出力
辞書を作成し、それを表示する例です。
thisdict = {
"brand": "フォード",
"model": "マスタング",
"year": 1964
}
print(thisdict)2. 辞書の項目 (Dictionary Items)
辞書の項目は順序付けられており、変更可能で、重複は許可されません。
辞書の項目は key:value の形式で提示され、キー名を使用して参照できます。
2.1 順序付け(Ordered)か、順序なしか(Unordered)か?
Python 3.6 以前では、辞書は「順序なし」でした。しかし、Python 3.7 以降では辞書は「順序付けられている(Ordered)」ようになりました。
「順序付けられている」と言う場合、それは項目が定義された順序を持っていることを意味し、その順序は変わりません。
「順序なし」と言う場合は、項目が定義された順序を持たず、インデックスを使用して項目を参照することはできません。
2.2 変更可能 (Changeable)
辞書はミュータブル(変更可能)です。つまり、辞書が作成された後に、項目の変更、追加、削除を行うことができます。
2.3 重複の禁止 (Duplicates Not Allowed)
辞書内に同じキーを持つ 2 つの項目を持つことはできません。重複したキーがある場合、既存の値は上書きされます。
# 重複したキーは既存の値を上書きします
thisdict = {
"brand": "フォード",
"model": "マスタング",
"year": 1964,
"year": 2020
}
print(thisdict)3. 辞書の長さ (Dictionary Length)
辞書にいくつの項目(キーと値のペア)があるかを確認するには、len() 関数を使用します。
# 辞書の項目数を出力
print(len(thisdict))4. 辞書の項目 - データ型
辞書の項目の値は、任意のデータ型にすることができます。
文字列、整数、ブール値、およびリスト型などを混在させることも可能です。
# 文字列、整数、ブール値、およびリストのデータ型
thisdict = {
"brand": "フォード",
"electric": False,
"year": 1964,
"colors": ["レッド", "ホワイト", "ブルー"]
}5. type() 関数
Python の観点から見ると、辞書はデータ型 'dict' を持つオブジェクトとして定義されます。
# 辞書のデータ型を出力
thisdict = {
"brand": "フォード",
"model": "マスタング",
"year": 1964
}
print(type(thisdict))6. dict() コンストラクタ
dict() コンストラクタを使用して、新しい辞書を作成することもできます。
# dict() コンストラクタを使用して辞書を作成
thisdict = dict(name = "ジョン", age = 36, country = "ノルウェー")
print(thisdict)