カテゴリ: Python 更新日: 2026/02/17

Pythonの辞書をソートする方法(キー・値で並び替える方法)を初心者向けに解説!

Pythonの辞書をソートする方法(キー・値で並び替える方法)
Pythonの辞書をソートする方法(キー・値で並び替える方法)

先生と生徒の会話形式で理解しよう

生徒

「先生、Pythonの辞書って何ですか?そして、その辞書を並べ替えたいんですけど、どうすればいいですか?」

先生

「Pythonの辞書は、『キー』と『値』がセットになったデータの集まりです。例えば、電話帳のようなもので、名前(キー)と電話番号(値)がペアになっています。辞書はもともと順番が決まっていないんですが、並べ替えもできますよ。」

生徒

「キーや値でどうやって並べ替えるんですか?簡単に教えてほしいです。」

先生

「わかりました。これからキーで並べ替える方法と値で並べ替える方法を、わかりやすく説明しますね!」

1. Pythonの辞書(dict)とは?基本の仕組みと特徴を初心者向けに解説

1. Pythonの辞書(dict)とは?基本の仕組みと特徴を初心者向けに解説
1. Pythonの辞書(dict)とは?基本の仕組みと特徴を初心者向けに解説

Pythonの辞書(dict)は、情報を「名前」と「中身」のセットで管理するための非常に便利な仕組みです。この「名前」のことをキー(key)、「中身」のことを値(value)と呼びます。

身近なもので例えると、スマートフォンの「連絡先」アプリが分かりやすいでしょう。「友人の名前」がキーで、その人の「電話番号」が値にあたります。名前を検索すれば、すぐに対応する番号が見つかりますよね。このように、特定のキーワードから素早くデータを取り出せるのが辞書の最大の特徴です。

まずは、簡単なプログラムで辞書の書き方を見てみましょう。


# テストの点数を管理する辞書の例
score_data = {"田中": 85, "佐藤": 92, "鈴木": 78}

# 「佐藤」さんの点数を取り出す
print(score_data["佐藤"])

このコードでは、"佐藤"というキーを指定することで、そのペアである92という値を瞬時に呼び出しています。

ここで1つ、大切なポイントがあります。辞書は「ラベル(キー)」を見て中身を探す仕組みなので、「どの順番でデータを入れたか」という順序は本来重視されません。(※Python 3.7以降は内部的に順序が保持されますが、基本はバラバラな箱の集まりだとイメージしてください)

そのため、データを「点数が高い順」や「名前のあいうえお順」に並べて表示したい場合には、今回解説する「ソート(並び替え)」という操作が必要になるのです。

2. なぜ辞書をソート(並び替え)するの?

2. なぜ辞書をソート(並び替え)するの?
2. なぜ辞書をソート(並び替え)するの?

辞書の中身を見やすくしたいときや、特定の順番で処理したいときに並べ替えます。たとえば、名前のアルファベット順や、値の大きさ順に並べ替えることがよくあります。

パソコン初心者の方でも、データを整理する感覚で使えるので、並べ替えはとても役立ちます。

3. Pythonで辞書をキーで並べ替える方法

3. Pythonで辞書をキーで並べ替える方法
3. Pythonで辞書をキーで並べ替える方法

辞書をキーで並べ替えるには、sorted()(ソーティッド)という関数を使います。sorted()は「並べ替える」という意味です。

辞書のキーを取り出して、それをアルファベットや数字の順に並べ替えます。こうすると、キーの順番に沿った新しい辞書を作れます。

例を見てみましょう。


fruits = {"apple": 3, "banana": 1, "orange": 2}

# キーで並べ替えた辞書を作る
sorted_dict = {key: fruits[key] for key in sorted(fruits)}

print(sorted_dict)

このコードでは、sorted(fruits)がキーをアルファベット順に並べ替えます。その順番で辞書を作り直しているのです。

実行すると、次のように表示されます。


{'apple': 3, 'banana': 1, 'orange': 2}

元の辞書と比べると、キーがアルファベット順に並んでいますね。

4. Pythonで辞書を値で並べ替える方法

4. Pythonで辞書を値で並べ替える方法
4. Pythonで辞書を値で並べ替える方法

次に、値の大きさで辞書を並べ替える方法です。こちらもsorted()を使いますが、キーではなく「値」を見て並べ替えます。

ここで「キー」と「値」を混同しないようにしましょう。
辞書は「キー(名前)」と「値(中身)」のセットなので、今回は「値」を基準に並べ替えます。

コードを見てください。


fruits = {"apple": 3, "banana": 1, "orange": 2}

# 値で並べ替えた辞書を作る
sorted_dict_by_value = {k: v for k, v in sorted(fruits.items(), key=lambda item: item[1])}

print(sorted_dict_by_value)

ここで使っているfruits.items()は、辞書の中の「キーと値のペア」を取り出す方法です。
また、key=lambda item: item[1]は、「値(ペアの2番目)」を並べ替えの基準にする、という意味です。

実行すると、値が小さい順に並べ替えられた辞書が表示されます。


{'banana': 1, 'orange': 2, 'apple': 3}

5. もっとわかりやすく!辞書のソートの仕組みを日常生活で例えると?

5. もっとわかりやすく!辞書のソートの仕組みを日常生活で例えると?
5. もっとわかりやすく!辞書のソートの仕組みを日常生活で例えると?

辞書のソートを日常生活の例で考えてみましょう。

たとえば、家にいくつかの本があります。
「本のタイトル」がキー、「ページ数」が値だとします。

  • キー(タイトル)で並べ替える:タイトルのアルファベット順に本を並べる。
  • 値(ページ数)で並べ替える:ページ数が少ない順に本を並べる。

このように基準を変えるだけで、整理の仕方が変わります。Pythonの辞書ソートも同じ感覚です。

6. まとめないけど大事!辞書をソートする時に注意したいポイント

6. まとめないけど大事!辞書をソートする時に注意したいポイント
6. まとめないけど大事!辞書をソートする時に注意したいポイント

辞書は元々順番がないデータです。ソートすると新しい順番の辞書が作られますが、元の辞書自体は変わりません。

Python3.7以降は辞書が順番を保持するようになりましたが、それでも明示的にソートした辞書を新しく作ることが一般的です。

また、ソートの基準をしっかり理解してからコードを書くとミスを減らせます。今回紹介したsorted()lambdaの使い方は、他のデータ操作でも役立つ基本のテクニックです。

7. 練習問題:自分で辞書を作って並べ替えてみよう!

7. 練習問題:自分で辞書を作って並べ替えてみよう!
7. 練習問題:自分で辞書を作って並べ替えてみよう!

下のように自分で辞書を作って、キーで並べ替えたり値で並べ替えたりしてみてください。


my_dict = {"dog": 5, "cat": 3, "bird": 8}

# キーで並べ替え
sorted_by_key = {k: my_dict[k] for k in sorted(my_dict)}

# 値で並べ替え
sorted_by_value = {k: v for k, v in sorted(my_dict.items(), key=lambda x: x[1])}

print(sorted_by_key)
print(sorted_by_value)

これを自分で実行してみると、辞書の並べ替えがぐっと身近に感じられますよ。

まとめ

まとめ
まとめ

Pythonの辞書ソートを通して理解した基本の考え方

この記事では、Pythonの辞書をキーや値で並び替える方法について、初心者にも分かりやすい形で学んできました。Pythonの辞書は「キー」と「値」がセットになったデータ構造であり、リストやタプルとは異なり、データを名前で管理できる点が大きな特徴です。その一方で、辞書はそのままでは順番を意識して扱えないため、一覧表示や整理をしたい場面ではソートが必要になります。

キーで並べ替える方法では、sorted()関数を使ってキーを順番に並べ、その順序をもとに新しい辞書を作成しました。これにより、アルファベット順や数字の昇順といった、直感的に分かりやすい形でデータを確認できるようになります。Python初心者にとって、辞書のキーでソートする方法は、辞書構造を理解するうえで非常に重要なステップです。

値でソートすることで見えてくるデータの意味

辞書を値で並べ替える方法では、items()lambdaを組み合わせて、キーと値のペアを基準にソートしました。値でソートすることで、数値の大小や評価の高低など、データの中身そのものに注目した整理が可能になります。これは、Pythonでデータ分析や集計を行う際にも非常によく使われる考え方です。

以下は、今回の記事と同じ書き方を使った、値でソートするシンプルな例です。構文を繰り返し見ることで、辞書ソートの流れが自然と身についていきます。


scores = {"佐藤": 80, "鈴木": 95, "田中": 70}

sorted_scores = {k: v for k, v in sorted(scores.items(), key=lambda item: item[1])}

print(sorted_scores)

このように、値を基準に並べ替えることで、点数の低い順や高い順といった形でデータを整理できます。Pythonの辞書ソートは、単なる並び替えではなく、「どの基準でデータを見るか」を意識する練習にもなります。

辞書ソートを理解することの実用的なメリット

辞書をソートできるようになると、プログラムの見やすさや処理の分かりやすさが大きく向上します。例えば、設定情報をキー順に整理したり、集計結果を値の順番で表示したりといった場面で役立ちます。Pythonでは、辞書・リスト・タプルといったデータ構造を組み合わせて使うことが多いため、辞書のソートを理解しておくことで、より柔軟なプログラムが書けるようになります。

また、今回学んだsorted()lambdaの考え方は、辞書以外のデータ操作にも応用できます。Python初心者の段階でこれらの基本をしっかり押さえておくことで、今後の学習がスムーズに進みます。

先生と生徒の振り返り会話

生徒

「辞書は順番がないから難しそうだと思っていましたが、キーや値を基準に並べ替えられると分かって、すごく使いやすく感じました。」

先生

「それは良い気づきですね。Pythonの辞書は、そのままだと順番を意識しませんが、必要なときにソートすることで、整理された形で扱えます。」

生徒

「キーで並べ替える方法と、値で並べ替える方法の違いも理解できました。どちらを使うかで、見え方が全然変わりますね。」

先生

「その通りです。データをどう整理したいのかを考えて、ソートの基準を選ぶことが大切です。今回学んだ辞書のソートは、Pythonの基礎力を高めるうえでとても重要ですよ。」

生徒

「これからは、自分で作った辞書も積極的に並べ替えて、データの中身を確認するようにしてみます。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonの継承とは?親クラス・子クラスの関係とメソッドオーバーライドをやさしく解説
New2
Python
Pythonのインスタンス変数とクラス変数の違い!selfの使い方を初心者向けに解説
New3
Python
Pythonのコンストラクタ(__init__)の使い方を解説!初心者でもわかるオブジェクトの初期化
New4
PHP
PHP の文字列を検索・置換する方法(str_replace, preg_replace)
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのfinally文を徹底解説!例外発生時でも実行される処理の書き方と使い方
No.2
Java&Spring記事人気No2
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.3
Java&Spring記事人気No3
PHP
PHP の MySQL にデータを挿入する方法(INSERT 文の実行)を完全解説!初心者向けガイド
No.4
Java&Spring記事人気No4
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.5
Java&Spring記事人気No5
PHP
PHP の MySQL 接続の基本(mysqli, PDO)を完全解説!初心者向けガイド
No.6
Java&Spring記事人気No6
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.7
Java&Spring記事人気No7
PHP
PHPの可変長引数(...$args)の使い方を完全ガイド!初心者でもわかる基本と活用方法
No.8
Java&Spring記事人気No8
PHP
PHPのswitch文を使った条件処理の書き方を完全ガイド!初心者でもわかる使い方