Day 63辞書内包表記の活用
Pythonコード
1fruits = ['apple', 'banana', 'cherry']2prices = [100, 50, 200]3fruit_dict = {fruit: price for fruit, price in zip(fruits, prices)}4print(fruit_dict)5 6# 辞書の値を2倍にする7fruit_dict = {fruit: price * 2 for fruit, price in fruit_dict.items()}8print(fruit_dict)9 10# 入力された金額以下の果物を表示11while True:12 try:13 max_price = int(input('最大金額を入力してください: '))14 break15 except ValueError:16 print('数値を入力してください。')17 18cheap_fruits = {fruit: price for fruit, price in fruit_dict.items() if price <= max_price}19print(cheap_fruits)
解説
- 行1〜3: まず、果物の名前と価格をそれぞれリストに格納します。次に、辞書内包表記を使用して、果物の名前をキー、価格を値とする辞書を作成します。zip()関数は、2つのリストを同時に繰り返し処理するために使用します。zip()関数の役割は、複数のリストから同時に要素を取り出して、繰り返し処理を行うことです。
- 行6〜7: 辞書内包表記を使用して、辞書の値を2倍にします。items()メソッドは、辞書のキーと値の両方を取得するために使用します。items()メソッドの役割は、辞書のすべてのキーと値を取得することです。
- 行11〜16: 入力された金額以下の果物を表示します。whileループを使用して、入力が数値であることを確認します。int()関数は、文字列を整数に変換するために使用します。try-except文は、プログラムの実行中に発生するエラーを処理するために使用します。
- 行18〜19: 辞書内包表記を使用して、条件を満たす果物を新しい辞書に格納します。print()関数は、画面に文字や値を表示するために使用します。
次に試してみよう
- 入力された文字列を含む果物を表示する機能を追加してみましょう。
- 果物の価格を昇順または降順に並べ替える機能を追加してみましょう。
- 果物の価格の平均値を計算して表示する機能を追加してみましょう。