Python 辞書を初期化する
- Python でリテラル構文を使用して辞書を初期化する
-
dict()
コンストラクターを使用して Python ディクショナリを初期化する -
fromkeys()
メソッドを使用して Python ディクショナリを初期化する - タプルのリストを使用して Python ディクショナリを初期化する
- 2つのリストを使用して Python ディクショナリを初期化する
Python 辞書は順序付けられており、変更可能です。辞書では、重複を保存することはできません。
Python 3.6 以下のバージョンでは、辞書は順序付けされていませんでした。Python 3.7 以降の導入後、辞書が注文されます。
このチュートリアルでは、Python で辞書を初期化するためのさまざまな方法について説明します。
Python でリテラル構文を使用して辞書を初期化する
辞書は中括弧 {}
を使用して作成および初期化でき、キーと値が含まれています。
次のコードは、リテラルを使用して Python ディクショナリを初期化します。
dict1 = {"X": 2, "Y": 3, "Z": 4}
print(dict1)
出力:
{'X': 2, 'Y': 3, 'Z': 4}
dict()
コンストラクターを使用して Python ディクショナリを初期化する
dict()
コンストラクターを使用して、キーワード引数、または単独の辞書とそのキーワード引数、またはキーと値のペアの単独の反復可能配列から辞書を初期化できます。
dict()
コンストラクターでパラメーターを渡し、辞書を作成できます。
次のコードは、dict()
コンストラクターを使用して Python で辞書を初期化します。
dict1 = dict(X=1, Y=2, Z=3)
print(dict1)
出力:
{'X': 1, 'Y': 2, 'Z': 3}
fromkeys()
メソッドを使用して Python ディクショナリを初期化する
fromkeys()
関数は、すべてのキーの値が同じ場合に使用できます。
次のコードは、fromkeys()
メソッドを使用して Python ディクショナリを初期化します。
dict1 = dict.fromkeys(["X", "Y", "Z"], 0)
print(dict1)
出力:
{'X': 0, 'Y': 0, 'Z': 0}
構文で特定の値が指定されていない場合、辞書はすべてのキーの値を None
として初期化できます。
dict1 = dict.fromkeys(["X", "Y", "Z"])
print(dict1)
出力:
{'X': None, 'Y': None, 'Z': None}
タプルのリストを使用して Python ディクショナリを初期化する
タプルのリストを使用して、Python で辞書を初期化することもできます。このメソッドは、dict()
コンストラクターを使用してこれを実装します。
タプルは、順序付けられた不変のオブジェクトのコレクションです。1つの変数に複数のアイテムをストックするために利用できます。
リストはタプルに似ていますが、唯一の違いはリストを変更できることと、タプルがそれを許可しないことです。
次のコードは、タプルのリストを使用して Python で辞書を初期化します。
LOT = [("X", 5), ("Y", 6), ("Z", 8)]
dict1 = dict(LOT)
print(dict1)
出力:
{'X': 5, 'Y': 6, 'Z': 8}
2つのリストを使用して Python ディクショナリを初期化する
この場合、2つのリストを宣言します。最初のリストの値をキーとして使用し、2 番目のリストを初期化するディクショナリの値として使用します。
上記のステートメントを実装するには、zip()
関数を使用できます。この関数は、指定された両方のリストを並行して繰り返します。
zip()
関数は、すべてのエントリのキーと値のペアを並行して作成し、zip オブジェクトを正常に作成します。このオブジェクトは、dict()
コンストラクターに渡して辞書を作成できます。
次のコードは、2つのリストを使用して Python で辞書を初期化します。
if __name__ == "__main__":
L1 = ["X", "Y", "Z"]
L2 = [5, 6, 8]
dict1 = dict(zip(L1, L2))
print(dict1)
出力:
{'X': 5, 'Y': 6, 'Z': 8}
この場合、L1 はキーとして使用されるリストであり、L2 は初期化されたディクショナリの値のリストとして使用されます。
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn