Python で値による辞書のソート

PythonPythonBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

辞書は、Python における基本的なデータ構造であり、キーと値のペアを格納することができます。ただし、時にはキーではなく値に基づいて辞書をソートする必要がある場合があります。このチャレンジでは、値に基づいて辞書をソートする関数を作成することが求められます。

辞書をソートする

sort_dict_by_value(d, reverse=False) という名前の関数を作成します。この関数は辞書 d を受け取り、値に基づいてソートします。関数は、元の辞書と同じキーを持ち、値が昇順にソートされた新しい辞書を返す必要があります。reverse パラメータが True に設定されている場合、関数は辞書を降順にソートする必要があります。

この問題を解決するには、次の手順を辿ることができます。

  1. dict.items() を使用して、d からタプル ペアのリストを取得します。
  2. ラムダ関数と sorted() を使用してリストをソートします。
  3. dict() を使用して、ソートされたリストを辞書に戻します。
  4. sorted()reverse パラメータを使用して、2番目の引数に基づいて辞書を逆順にソートします。

⚠️ 注意: 辞書の値は同じ型でなければなりません。

def sort_dict_by_value(d, reverse = False):
  return dict(sorted(d.items(), key = lambda x: x[1], reverse = reverse))
d = {'one': 1, 'three': 3, 'five': 5, 'two': 2, 'four': 4}
sort_dict_by_value(d) ## {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
sort_dict_by_value(d, True)
## {'five': 5, 'four': 4, 'three': 3, 'two': 2, 'one': 1}

まとめ

このチャレンジでは、Python を使って辞書を値に基づいてソートする方法を学びました。この知識を使って、辞書に格納されたデータをより効果的に操作し分析することができます。