Day 234カウント用辞書で頻度分析
Pythonコード
1fruits = ['apple', 'banana', 'apple', 'orange', 'banana', 'banana']2fruit_count = {}3for fruit in fruits:4 if fruit in fruit_count:5 fruit_count[fruit] += 16 else:7 fruit_count[fruit] = 18print(fruit_count)9 10# ソートする11sorted_fruit_count = sorted(fruit_count.items(), key=lambda x: x[1], reverse=True)12print(sorted_fruit_count)
解説
- 行1〜2: リストに複数のフルーツの名前を入れています。空の辞書fruit_countを作成します。辞書は、キーと値のペアでデータを保存するデータ構造です。ここで、組み込み関数のdict()は辞書を作成する関数です。
- 行3〜7: forループで、フルーツのリストを1つずつ処理します。if文で、fruit_count辞書に現在のフルーツがすでにキーとして存在するかどうかを確認します。存在する場合は、そのフルーツの値を1増やします。存在しない場合は、新しいキーとしてフルーツを追加し、値を1に設定します。
- 行8: 辞書の内容をprint関数で出力します。辞書のキーはフルーツの名前、値は各フルーツの出現回数です。print()は、指定された値や変数の内容を画面に表示する組み込み関数です。
- 行10〜11: 辞書の内容を、値(出現回数)に基づいて降順にソートします。sorted関数は、新しいリストを返します。ここでは、辞書のキーと値のペアをタプルとしてリストに格納し、出現回数の多いフルーツから表示します。sorted()は、並べ替えた新しいリストを返す組み込み関数です。
- 行12: ソートされたリストをprint関数で出力します。
次に試してみよう
- 自分で好きなフルーツのリストを作って、頻度分析をしてみましょう。
- 出現回数が多い順ではなく、フルーツの名前のアルファベット順にソートしてみましょう。
- 新しいフルーツを追加して、辞書に反映されることを確認してみましょう。