dict.setdefault() キーが存在しない場合にデフォルト値を設定する
最終更新:2026-09-22
dict.setdefault() キーが存在しない場合にデフォルト値を設定する
dict.setdefault(key[, default]) は key が存在すればその値を返し、そうでなければ key:default を挿入して default を返す。
| カテゴリ | 辞書メソッド |
|---|---|
| 種類 | 組み込み型メソッド |
| Python バージョン | all |
📝 構文
dict.setdefault(key[, default])
⚙️ 引数
| key 必須 | The key to look up. |
|---|---|
| default 任意 | Value to insert when the key is missing; default None.(デフォルト値:None) |
戻り値:The value for key; if missing, inserts key:default and returns default.
元のオブジェクトを変更するか:はい(その場で変更)
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
1
99
{'a': 1, 'b': 99}
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qsetdefault() は正確に何をしますか?
Aキーが存在すればその値を返します(変更しません)。存在しなければ key: default を挿入して default を返します。戻り値は常に「キーに対応する値」です。
Qget() との違いは何ですか?
Aget() はキーが欠けたとき default を返すだけで、辞書には書き込みません。setdefault() は default を辞書に書き込みます。
Q既定値は即座に評価されますか?
Aはい!d.setdefault('k', []) は 'k' がすでに存在しても最初に空リストを作り、その後破棄します。頻繁に呼ぶ場合は効率のため collections.defaultdict を使いましょう。
Q典型的な用途は?
Aグルーピング:d.setdefault(category, []).append(item)。単語カウント:d[w] = d.setdefault(w, 0) + 1。