Pythonの内包表記について
Pythonでリストや辞書などのコレクションを簡潔に生成する方法として内包表記(comprehension)があります。特に辞書内包表記は、キーと値のペアを生成する際に非常に便利です。ここでは、果物の名前が入ったリストから、その果物の名前をキーとし、果物の名前の文字数を値とする辞書を作成する方法を見ていきましょう。
サンプルコード1: 基本的な辞書内包表記
fruits = ["apple", "banana", "cherry"] fruit_length = {fruit: len(fruit) for fruit in fruits} print(fruit_length)
このコードは、fruitsリストの各要素を取り出し、その要素名をキー、その長さを値とする辞書を作成します。出力は {'apple': 5, 'banana': 6, 'cherry': 6}
となります。
サンプルコード2: 条件付き辞書内包表記
fruits = ["apple", "banana", "cherry", "kiwi"] fruit_length = {fruit: len(fruit) for fruit in fruits if len(fruit) > 5} print(fruit_length)
このコードでは、果物の名前の長さが5文字より多いものだけを辞書に含めます。出力は {'banana': 6, 'cherry': 6}
となります。
サンプルコード3: 複雑な条件と演算を含む辞書内包表記
fruits = ["apple", "banana", "cherry", "kiwi"] fruit_length = {fruit.capitalize(): len(fruit) * 2 for fruit in fruits if "a" in fruit} print(fruit_length)
このコードでは、果物の名前に ‘a’ が含まれる場合のみ辞書に含め、キーは大文字で始まるように変換し、値は文字数の2倍としています。出力は {'Apple': 10, 'Banana': 12}
となります。
以上の例からも分かるように、Pythonの辞書内包表記は非常に柔軟で強力なツールです。条件や演算を組み合わせることで、さまざまなデータ構造を簡潔に、効率的に生成することが可能です。