Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで辞書の要素をキー順にソートして取得する3つの方法

Pythonの辞書(dict)はキーと値のペアで構成されています。実際の開発では、辞書の要素をキーの順序に従って並べ替えて取得したい場面がよくあります。この記事では、辞書の内容をソートして出力するためのさまざまな方法を、具体的なコード例とともに解説します。

方法1:operatorモジュールを使う

operatorモジュールにはitemgetter関数が用意されており、引数に「0」を指定することで辞書のキーを基準に並べ替えを行えます。sorted関数のkeyパラメータにitemgetterを組み合わせることで、キー順にソートされた結果を取得できます。また、reverseパラメータをTrueにすれば降順ソートも可能です。

コード例

dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
import operator
print("\n元の辞書:", str(dict))
print("ソート後の順序:")
for k, n in sorted(dict.items(), key = operator.itemgetter(0), reverse = False):
    print(k, " ", n)

実行結果

元の辞書: {12: 'Mon', 21: 'Tue', 17: 'Wed'}
ソート後の順序:
12     Mon
17     Wed
21     Tue

出力を見ると、キーが12 → 17 → 21の昇順に並べ替えられていることがわかります。

方法2:sorted()メソッドを直接使う

sorted()関数は辞書に対して直接適用できます。この場合、辞書のキーがソートされ、そのキーを使って対応する値を取り出すことができます。コードがシンプルになるのが特徴です。

コード例

dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
# sorted()を使用
print("元の辞書:", str(dict))
print("ソート後の順序:")
for k in sorted(dict):
    print(dict[k])

実行結果

元の辞書: {12: 'Mon', 21: 'Tue', 17: 'Wed'}
ソート後の順序:
Mon
Wed
Tue

この方法では値のみが出力されます。キー自体も表示したい場合は、次の方法が便利です。

方法3:dict.items()と組み合わせる

sorted()関数をdict.items()に適用すると、キーと値の両方をペアのままソートできます。キーと値を同時に扱いたい場合に最も使いやすい方法です。

コード例

dict = {12 : 'Mon', 21 : 'Tue', 17: 'Wed'}
# dict.items()を使用
print("\n元の辞書:", str(dict))
print("ソート後の順序:")
for k, i in sorted(dict.items()):
    print(k, i)

実行結果

元の辞書: {12: 'Mon', 21: 'Tue', 17: 'Wed'}
ソート後の順序:
12 Mon
17 Wed
21 Tue

まとめ

Pythonで辞書をソートする主な方法として、以下の3つを紹介しました。

  • operator.itemgetter:キーを明示的に指定でき、reverseによる降順ソートにも柔軟に対応
  • sorted()を直接適用:シンプルにキーだけをソートしたい場合に最適
  • dict.items()との組み合わせ:キーと値のペアをまとめてソート・表示できる

用途に応じてこれらの方法を使い分けることで、辞書データを効率的に処理できます。

  1. Pythonの辞書からすべてのキーをリストとして取得する方法

    Pythonの辞書(dict)からすべてのキーをリストとして取得したい場合、最もシンプルな方法は dict.keys() メソッドを使うことです。このメソッドは辞書内のすべてのキーを含むビューオブジェクトを返すため、list() で囲むことで簡単にリストへ変換できます。keys()メソッドを使う例my_dict = {name: TutorialsPoint, time: 15 years, location: India} key_list = list(my_dict.keys()) print(key_list)出力実行すると、次のような結果が得られます。[name, time, loc

  2. Pythonの辞書(dict)から特定のキーの値を取得する方法をわかりやすく解説

    Pythonの辞書(dict)から特定のキーに対応する値を取得するには、主に2つの方法があります。1つ目は角括弧 [] 演算子を使う方法、2つ目は get() メソッドを使う方法です。それぞれの使い方と違いを詳しく見ていきましょう。 方法1:角括弧 [] を使って値を取得する 最も基本的な方法は、辞書に対して [] 演算子を使い、引数としてキーを渡すことです。 サンプルコード my_dict = {name: TutorialsPoint, time: 15 years, location: India} print(my_dict[name]) print(my_dict[time]) 実行