Python での辞書内包表記

Manav Narula 2023年10月10日
Python での辞書内包表記

リストは、共通の名前で複数の要素を並べたコレクションです。Python でリストを作成および管理するのは簡単です。簡単にするために、Python でリスト内包表記メソッドを使用できます。この方法は、はるかに簡潔でエレガントであり、通常は 1 行のコードです。通常、角括弧内の for ループの使用が含まれます。

次のコードは、このメソッドを使用して整数の単純なリストを作成する方法を示しています。

lst = [i for i in range(1, 10)]
print(lst)

出力:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

一方、辞書は、キーと値のペアを格納するために使用されます。Python 2.7 以降では、辞書内包表記もサポートされています。これは、1 行のコードで辞書を作成するためにも同様に使用されます。

例えば、

d = {i: i * 5 for i in range(1, 5)}
print(d)

出力:

{1: 5, 2: 10, 3: 15, 4: 20}

上記のコードでは、1 から 5 までの整数を辞書のキーとして割り当て、キーと 5 の積をその値として割り当てます。

辞書のキーと値のリストを作成できることは誰もが知っています。辞書内包法を使用すると、リストの要素を使用して辞書を簡単に作成できます。以下の例に示します。

keys = [1, 2, 3, 4, 5]
vals = ["Mark", "Jack", "Jake", "Sam", "Ash"]

d = {i: j for i, j in zip(keys, vals)}

print(d)

出力:

{1: 'Mark', 2: 'Jack', 3: 'Jake', 4: 'Sam', 5: 'Ash'}

上記の例の zip() 関数は、2つのリストを組み合わせた後に zip タイプのオブジェクトを返すために使用されます。

辞書をより速く作成する方法は他にもあることに注意してください。たとえば、fromkeys() 関数を使用できます。この関数を使用すると、リストからキーを提供して辞書を作成できます。欠点は、すべてのキーに同じ値を指定することです。

例えば、

keys = [1, 2, 3, 4, 5]

d = dict.fromkeys(keys, "True")

print(d)

出力:

 {1: 'True', 2: 'True', 3: 'True', 4: 'True', 5: 'True'}
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Dictionary