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

Pythonで辞書(dict)を印刷・出力する方法を徹底解説

Pythonの辞書(dict)は、データを「キー」と「値」のペアで格納するデータ構造です。つまり、辞書内の各値には必ずキーが関連付けられており、そのキーが値を参照するための目印となります。

辞書の内容をコンソールで確認したい場合、いくつかのアプローチがあります。辞書をそのまま直接出力することもできますし、キーと値のペアを1つずつ個別に出力することも可能です。

このガイドでは、Pythonで辞書を印刷する方法を解説します。実際のコード例を通じて、自分のコードで辞書を出力する方法をわかりやすく紹介していきます。

forループを使って辞書を印刷する方法

まず、パン職人が読めるように辞書の内容を出力するプログラムを作成してみましょう。この辞書には、スコーンを1バッチ焼くために必要な材料の名前と、その分量が格納されています。

レシピの情報を含む辞書を作成しましょう。

scone = {
	 "self-raising flour": "350g",
	 "baking powder": "1 tbsp",
	 "butter": "85g",
	 "caster sugar": "3 tbsp",
	 "milk": "175ml",
	 "egg": "1 whole"
}

この辞書には6つのキーと値が含まれています。各キーは材料名を表し、各値はスコーンを1バッチ焼くために必要なその材料の分量を示しています。

次に、forループを使ってこの辞書の内容を出力します。items()メソッドを使えば、以下のように実装できます。

for key, value in scone.items():
	 print(value, key)

コードを実行して、結果を確認してみましょう。

350g self-raising flour
1 tbsp baking powder
85g butter
3 tbsp caster sugar
175ml milk
1 whole egg

コードは辞書内のすべてのキーと値を正常に出力しました。items()メソッドは、辞書内のすべてのキーのリストとすべての値のリストという2つの要素を返します。このメソッドを繰り返し処理するたびに、新しいキーと値のペアにアクセスできます。

1回目のループでは、「value」が「350g」、「key」が「self-raising flour」となります。forループは、すべてのキーと値のペアがコンソールに出力されるまで繰り返し処理を続けます。

jsonモジュールを使って辞書を印刷する方法

前の例では、forループを使って辞書の内容を手動でコンソールに出力しました。この方法は、パン職人が読みやすい材料リストを作りたいというユースケースに最適です。

一方、jsonモジュールを使うと、辞書を開発者にとって読みやすい形式で出力できます。開発者が辞書の値をコンソールで確認したい場合に便利な方法です。

それでは、先ほどのプログラムを修正して、jsonモジュールで辞書を出力してみましょう。

まず、コード内で使用できるようにjsonモジュールをインポートします。

import json

次に、辞書を定義します。

scone = {
	 "self-raising flour": "350g",
	 "baking powder": "1 tbsp",
	 "butter": "85g",
	 "caster sugar": "3 tbsp",
	 "milk": "175ml",
	 "egg": "1 whole"
}

この辞書は前の例と同じものです。次のステップは、jsonモジュールを使って辞書をコンソールに出力することです。json.dumpsというメソッドを使って、辞書を整形します。

formatted = json.dumps(scone, indent=4)
print(formatted)

json.dumps()メソッドを呼び出す際には、2つのパラメータを指定します。1つ目は整形したい辞書の名前、2つ目はインデント1つあたりのスペース数です。この例では、インデントは4スペースに設定しています。

その後、print()ステートメントで整形された辞書を表示します。プログラムを実行して、辞書を確認してみましょう。

{
	"self-raising flour": "350g",
	"baking powder": "1 tbsp",
	"butter": "85g",
	"caster sugar": "3 tbsp",
	"milk": "175ml",
	"egg": "1 whole"
}

コードによって、材料リストがきれいに整形されて表示されました。

ネストされた辞書(入れ子の辞書)を印刷する方法

「ネストされた辞書」とは、「辞書の中に辞書が入った構造」のことを指します。

ネストされた辞書は、json.dumps()メソッドとprint()ステートメントを使って出力することもできますし、forループを使うことも可能です。forループの方法は先ほどの例と似ていますが、コードを少し変更する必要があります。

ここでは、材料が「辞書の中の辞書」に格納されている場合を想定してみましょう。

recipes = {
	 "scone": {
		 "self-raising flour": "350g",
		 "baking powder": "1 tbsp",
		 "butter": "85g",
		 "caster sugar": "3 tbsp",
		 "milk": "175ml",
		 "egg": "1 whole"
	 }
}

「scone」辞書内のアイテムにアクセスするには、まず「scone」というキーを参照する必要があります。辞書をコンソールに出力するには、2つのforループを使用します。

for key, value in recipes.items():
	 print(key)
	 for k, v in value.items():
			 print(k, v)

最初のforループは「recipes」辞書を反復処理します。2つ目のforループは、「recipes」辞書内の各辞書を反復処理します。それでは、コードを実行してみましょう。

scone
self-raising flour 350g
baking powder 1 tbsp
butter 85g
caster sugar 3 tbsp
milk 175ml
egg 1 whole

コードは「recipes」辞書の内容と、その中にある「scone」辞書の内容を正常に出力しました。

まとめ

Pythonで辞書を印刷するには、forループを使う方法と、jsonモジュールを使う方法の2つがあります。辞書の内容をコンソールに表示したい場合はforループが最適で、開発者がデータを確認・デバッグする用途にはjsonモジュールのアプローチがより適しています。

どちらの方法でも、ネストされた辞書をコンソールに出力することも可能です。

これで、あなたもプロの開発者のようにPythonのコンソールへ辞書を出力できるようになりました!

  1. Pythonで辞書(dict)をソートする方法|キー・値で並べ替える2つのテクニック

    Pythonの辞書(dict)は、キーと値のペアで構成されるデータ構造です。辞書をソートするには、主に以下の2つの基準があります。キーでソート - キーを昇順に並べ替えます。値の順序は考慮されません。値でソート - 値を昇順に並べ替えます。方法1:キーで辞書をソートするこの方法では、辞書をキーの昇順に並べ替えます。入力:{2:90, 1: 100, 8: 3, 5: 67, 3: 5}出力:{1:100, 2:90, 3:5, 5:67, 8:3}上記のように、辞書がキーの順序に従ってソートされていることがわかります。コード例dic={2:90, 1: 100, 8: 3, 5: 67, 3:

  2. Pythonでパターンを出力する方法|三角形・数字・アルファベット・ピラミッドのコード例

    Pythonでパターンを出力するには、ネストされた(入れ子構造の)forループを使用します。外側のループで行数を制御し、内側のループで列数を処理します。そしてprint文を工夫することで、目的に応じたさまざまなパターンを作成できます。パターンには、星(アスタリスク)パターン、数字パターン、アルファベットパターンなどがあり、三角形やピラミッドなど、さまざまな形状にも対応できます。パターン出力の基本これらのパターンは、print文を少し変更しながらforループを組み合わせることで出力できます。基本的な考え方はどのパターンも共通しており、違いはごくわずかです。ここからは、代表的なパターンのコードを実