Day 68カウント用辞書で頻度分析
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: リスト「fruits」に複数の果物の名前を入れています。空の辞書「fruit_count」も作成します。この辞書は、各果物の名前をキーとして、その出現回数を値として保持するために使用されます。組み込み関数の「len()」は、リストや辞書の要素数を返しますが、この例では使用していません。
- 行3〜7: forループで「fruits」リストの各果物について、辞書「fruit_count」にその果物がすでに登録されているかを確認します。登録されている場合は、その果物の値(回数)を1増やします。登録されていない場合は、新しく登録します。組み込み関数の「in」は、辞書のキーに指定の値が含まれているかを判断します。
- 行8: 辞書「fruit_count」に収集された果物の出現回数を表示します。組み込み関数の「print()」は、指定された値を画面に表示します。
- 行10〜12: 辞書の項目を、値(出現回数)でソートし、降順(多く出現する果物から)に並べ替えます。ソート結果は「sorted_fruit_count」に格納され、表示されます。組み込み関数の「sorted()」は、リストや辞書の要素を指定された基準で並べ替えた新しいリストを返します。
次に試してみよう
- リスト内の各果物の名前を大文字に変換してから辞書に登録してみましょう。
- 果物の名前を入力する際に、ユーザーから入力を受け付けてみましょう。
- 出現回数が多い順に果物の名前を表示するプログラムを作成してみましょう。