ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
Pythonで辞書(dict)の中身を確認するには、キーの一覧を見る keys()、値の一覧を見る values()、キーと値のペアを見る items()、そして全体をそのまま表示する print(辞書) を使い分けるのが基本です。要素数は len()、特定のキーがあるかどうかは in で確認でき、見やすく整形したいときは pprint や json.dumps() が便利です。
| この記事の要点 |
|---|
|
以下では、サンプルとして次の辞書を使って中身を確認する方法を順に見ていきます。
|
user = { "name": "Sato", "age": 28, "city": "Tokyo", } |
キーの一覧を確認する:keys()
辞書にどんなキー(項目名)が登録されているかを知りたいときは、keys() メソッドを使います。キーだけをまとめて取得できます。
|
print(user.keys())
# dict_keys(['name', 'age', 'city']) |
出力の dict_keys([...]) という表記が示すように、keys() はリストそのものではなく「ビューオブジェクト」を返します。リストとして扱いたい場合は list(user.keys()) のように変換します。for ループでそのまま回すこともできます。
|
for key in user.keys(): print(key)
# name # age # city |
なお、辞書をそのまま for で回すとキーが順に取り出されるため、for key in user: と書いても同じ結果になります。
値の一覧を確認する:values()
キーに対応する値だけをまとめて確認したいときは、values() メソッドを使います。
|
print(user.values())
# dict_values(['Sato', 28, 'Tokyo']) |
こちらも dict_values([...]) というビューオブジェクトが返ります。値の一覧をリストとして使いたい場合は list(user.values()) と変換します。たとえば「合計を計算したい」「特定の値が含まれるか調べたい」といった用途で役立ちます。
キーと値のペアを確認する:items()
キーと値をセットで確認したいときは、items() メソッドが最も便利です。(キー, 値) のタプルが順に取り出せるため、for ループと組み合わせて一覧表示するのが定番です。
|
for key, value in user.items(): print(key, ":", value)
# name : Sato # age : 28 # city : Tokyo |
items() も同様にビューオブジェクト(dict_items)を返します。key, value のように2つの変数で受け取ることで、ペアを分解しながら扱える点がポイントです。
辞書全体をそのまま表示する:print(辞書)
細かく分解せず、辞書全体をひと目で確認したいときは print() に辞書をそのまま渡します。
|
print(user)
# {'name': 'Sato', 'age': 28, 'city': 'Tokyo'} |
波かっこ { } で囲まれた形でキーと値のペアが表示されます。小さな辞書であればこの方法が最も手軽です。値の型を含めて確認したい場合は、後述の pprint や json.dumps() による整形表示も検討するとよいでしょう。
要素の数を確認する:len()
辞書にいくつのキー(要素)が登録されているかは、len() 関数で確認できます。返るのはキーと値のペアの数です。
|
print(len(user))
# 3 |
辞書が空かどうかを判定したい場合は len(user) == 0 でも判定できますが、if not user: のように書くと、空の辞書のときだけ処理を分岐させることができます。
特定のキーがあるか確認する:in
あるキーが辞書に存在するかどうかは、in 演算子で確認します。存在すれば True、なければ False が返ります。
|
print("name" in user) # True print("email" in user) # False |
辞書に対する in は「キー」を対象に判定します。存在しないキーへ user["email"] のように直接アクセスすると KeyError になるため、アクセス前に in でチェックするか、user.get("email") のように get() を使うのが安全です。なお、値の方が含まれているか調べたい場合は "Sato" in user.values() のように values() と組み合わせます(→ 関連: キーの存在チェック)。
見やすく整形して表示する:pprint / json.dumps()
辞書のネストが深かったり要素が多かったりすると、print() では1行に詰め込まれて読みにくくなります。そんなときは標準ライブラリの pprint モジュールを使うと、適度に改行されて見やすくなります。
|
from pprint import pprint
data = {"user": {"name": "Sato", "roles": ["admin", "editor"]}, "active": True} pprint(data)
# {'active': True, # 'user': {'name': 'Sato', 'roles': ['admin', 'editor']}} |
もう一つの方法として、json モジュールの json.dumps() に indent を指定すると、インデントの付いた整った形で表示できます。日本語をそのまま表示したい場合は ensure_ascii=False も併せて指定します。
|
import json
print(json.dumps(data, indent=2, ensure_ascii=False))
# { # "user": { # "name": "Sato", # "roles": [ # "admin", # "editor" # ] # }, # "active": true # } |
ただし json.dumps() はJSONの表記に変換するため、PythonでいうところのタプルやセットなどはJSONに対応しない場合があります。また True が true に変わるなど、Pythonの表記とは一部異なる点に注意してください。純粋にPythonの構造として見やすく表示したいだけなら pprint、設定ファイルのように整形して残したいなら json.dumps() といった使い分けが目安です。
用途別の比較表
ここまで紹介した方法を、目的別に整理すると次のようになります。
| やりたいこと | 書き方 | 返るもの・結果 |
|---|---|---|
| キーの一覧を見る | 辞書.keys() |
キーのビュー(dict_keys) |
| 値の一覧を見る | 辞書.values() |
値のビュー(dict_values) |
| キーと値のペアを見る | 辞書.items() |
(キー, 値) のビュー(dict_items) |
| 全体をそのまま表示 | print(辞書) |
1行での辞書表示 |
| 要素数を数える | len(辞書) |
ペアの個数(整数) |
| キーの存在確認 | キー in 辞書 |
True / False |
| 見やすく整形表示 | pprint(辞書) / json.dumps(辞書, indent=2) |
改行・字下げ付きの表示 |
確認時に気をつけたい落とし穴
| 注意点 | 内容 |
|---|---|
| keys/valuesはビューオブジェクト | keys() や values()、items() はリストではなく「ビューオブジェクト」を返します。ビューは元の辞書と連動しており、辞書を更新すると内容も変わります。インデックスでアクセスしたり、表示を固定したい場合は list(...) でリストに変換してから扱います。 |
| 大きい辞書をそのまま表示 | 要素数の多い辞書やネストが深い辞書を print() すると、画面いっぱいに1行で出力されて読みづらくなります。中身を確認する目的なら pprint や json.dumps(indent=2) で整形するか、len() で件数だけ把握する、list(辞書.items())[:5] のように一部だけ表示するといった工夫が有効です。 |
| 表示される順序について | Python 3.7 以降では、辞書は要素を「追加した順(挿入順)」を保って表示されます。一方で、辞書はあくまでキーで値を取り出すためのデータ構造であり、並び順を前提にしたコードは避けるのが無難です。順序を意識して並べ替えたい場合は sorted() を使ってキーや値でソートしてから表示します。 |
よくある質問(FAQ)
Q. keys() の結果をリストのように添字でアクセスしたいのですが、エラーになります。
A. keys() が返すのはビューオブジェクトで、辞書.keys()[0] のようなインデックス指定はできません。list(辞書.keys())[0] のように、いったん list() でリストへ変換してからアクセスしてください。
Q. キーと値を同時に取り出すには items() と keys() のどちらを使うべきですか。
A. キーと値を両方使う処理なら items() が適しています。for key, value in 辞書.items(): と書けば、キーと値を一度に受け取れます。キーだけで十分なら keys()(または辞書をそのまま for で回す書き方)を使うとよいでしょう。
Q. print() の出力が見づらいときはどうすればよいですか。
A. pprint モジュールの pprint() を使うと、ネストした辞書が適度に改行されて読みやすくなります。インデント付きでJSONのように見たい場合は json.dumps(辞書, indent=2, ensure_ascii=False) も選択肢になります。用途に応じて使い分けてください。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- 辞書の作成
- 値の参照
- 要素の追加と更新
- 要素の削除 (辞書 Python)
- キーの存在チェック
- dictの中身を確認する方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?