sorted() で並べ替えれば、ランキングが作れます。items = [{'name': 'ペン', 'price': 120},
{'name': '本', 'price': 800}]
cheap_first = sorted(items, key=lambda x: x['price'])key= には「比べたい値を取り出す関数」をわたします。この例なら価格の安い順に並び、reverse=True を足すと高い順になります。scores を点数の高い順に並べ替えて、ranked に入れる'score'(key= にそれを取り出す lambda をわたす)scores は変えず、sorted() が返す新しいリストを使うkey= に「比べたい項目を取り出す関数」を渡して実現します。key= に lambda をわたすと、辞書の値を基準にできるreverse=True で降順(高い順)enumerate(リスト, 1) で順位を1から数える1位: ゆき (95点) 2位: はな (92点) 3位: たろう (85点) 4位: けんた (78点)
全問正解でクエストクリア!
問題 1: [3, 1, 4, 1, 5, 9, 2, 6] を降順に並べて表示しよう!
問題 2: 平均点と最高点・最低点を表示しよう!
問題 3: 点数80以上の人だけランキング表示しよう!