Python で辞書を作成する方法 (リテラルとコンストラクター)
Python で辞書を作成する方法を学びます。リテラル構文、辞書コンストラクター、辞書内包表記、およびキーと値の初期化子を理解します。
概要
辞書は、Python で最も強力で頻繁に利用される組み込みデータ型の 1 つです。ディクショナリは、変更可能で順序付けされた (Python 3.7 以降) キーと値のペアのコレクションであり、各キーは一意でハッシュ可能である必要があります (文字列、数値、タプルなど)。辞書を使用すると、高度に最適化された O(1) の平均ケース時間計算量で検索操作を実行できます。
辞書を作成する最も一般的かつ直接的な方法は、キーと値のペアをコロンで区切って中かっこ `{}` を使用することです。たとえば、`my_dict = {"name": "Alice", "age": 30}` は値が入力された辞書を作成します。空の辞書を作成するには、空の中括弧 `{}` または `dict()` コンストラクターを使用できます。
Python は、辞書を動的に作成するための他の高度な方法も提供します。 `dict()` コンストラクターは、キーと値のタプルまたはキーワード引数のリストから辞書を構築できます。さらに、辞書内包表記は、既存の反復可能オブジェクトから辞書を初期化し、キーまたは値にインラインで変換を適用する強力な方法を提供します。
コードと実行の出力
このスクリプトは、Python で辞書を初期化および作成する複数の方法を示します。
# 1. Dictionary literal syntax (most common)
user = {"name": "Alice", "age": 28, "verified": True}
print("Literal dict:", user)
# 2. Using the dict() constructor with keyword arguments
config = dict(host="localhost", port=8080, debug=True)
print("Constructor dict:", config)
# 3. Creating dictionary from key-value pairs (tuples)
pairs = [("id", 101), ("status", "active")]
status_dict = dict(pairs)
print("From tuples:", status_dict)
# 4. Dictionary comprehension (dynamic creation)
squares = {x: x**2 for x in range(1, 5)}
print("Comprehension:", squares)Literal dict: {'name': 'Alice', 'age': 28, 'verified': True}
Constructor dict: {'host': 'localhost', 'port': 8080, 'debug': True}
From tuples: {'id': 101, 'status': 'active'}
Comprehension: {1: 1, 2: 4, 3: 9, 4: 16}段階的な実装
- キーと値のペアで中括弧 {} を使用して、辞書リテラルを作成します。
- dict() を呼び出して空の辞書を作成するか、キーワード引数を使用して辞書を構築します。
- キーと値のタプルのリストを dict() に渡して、リレーショナル配列を辞書オブジェクトに変換します。
よくある質問
リストまたは辞書項目を辞書キーとして使用できますか?
いいえ、辞書キーはハッシュ可能 (不変) である必要があります。リストと辞書は変更可能であるため、キーにすることはできません。タプル、文字列、整数は有効なキーです。
キーのセットのデフォルト値を含む辞書を作成するにはどうすればよいですか?
dict.fromkeys(keys_list,default_value) を使用すると、すべてのキーが同じデフォルト値を共有する辞書を構築できます。
関連トピック
推奨される Python リソース
関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。
Python の変数とデータ型の説明
Python 変数と主要なデータ型 (文字列、整数、浮動小数点数、ブール値) を理解します。 Python でのメモリ割り当ての完全な初心者ガイド。
Python 辞書メソッドのチートシート
Python の辞書メソッドを学習します。キーと値のペアの挿入、取得、更新、チェックに関する完全なリファレンス ガイド。
Python と JavaScript: どちらのプログラミング言語が最適ですか?
Python と JavaScript の包括的な比較。構文の違い、パフォーマンス、使用例 (バックエンドとフロントエンド)、およびコーディング例を調べます。