Pythonの辞書内包表記は、新しい辞書を生成するためのコンパクトで読みやすい方法です。これは、ショッピングリストを作るときに、一つずつアイテムを書き加えるのではなく、すぐに一覧表を作るような感じです。
辞書内包表記の基本的な形は以下のようになります。
{key_expression: value_expression for item in iterable}
ここで、key_expression
は新しく生成する辞書の各エントリのキーを定義する部分、value_expression
はそのキーに対応する値を定義する部分、item
はiterable
から一つずつ取り出される要素です。
例えば、以下のようにして0から4までの整数をキーとし、その二乗を値とする辞書を作成することができます。
square_dict = {i: i ** 2 for i in range(5)}
print(square_dict) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
この例では、i
が0
から4
までの各整数を一つずつ取り出し(これがrange(5)
の部分)、それぞれに対してi: i ** 2
(これがkey_expression: value_expression
の部分)という形のエントリを新しい辞書に追加しています。
辞書内包表記は、既存の辞書から新しい辞書を作成するのにも便利です。例えば、既存の辞書から一部のエントリだけを持ってきたり、キーや値を変換したりすることができます。