dict.setdefault() تعيين قيمة افتراضية عند عدم وجود المفتاح
آخر تحديث: 2026-09-22
dict.setdefault() تعيين قيمة افتراضية عند عدم وجود المفتاح
dict.setdefault(key[, default]) إذا وُجد key يتم إرجاع قيمته، وإلا يتم إدراج key:default وإرجاع default.
| التصنيف | دوال القواميس |
|---|---|
| النوع | دوال الأنواع المدمجة |
| إصدار بايثون | 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}
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qماذا تفعل setdefault() بالضبط؟
Aإذا كان المفتاح موجودًا تُرجع قيمته (دون تعديله)؛ وإذا لم يكن موجودًا تُدرج key: default وتُرجِع default. القيمة الراجعة دائمًا هي "القيمة المقابلة للمفتاح".
Qما الفرق من get()؟
Aget() تُرجع القيمة الافتراضية فقط عندما يكون المفتاح غائبًا ولا تكتب في القاموس؛ بينما تكتب setdefault() القيمة الافتراضية في القاموس.
Qهل تُقيَّم القيمة الافتراضية فورًا؟
Aنعم! تُنشئ d.setdefault('k', []) قائمة فارغة أولًا حتى عندما يكون 'k' موجودًا بالفعل، ثم تتجاهلها. عند الاستدعاء المتكرر، استخدم collections.defaultdict لمزيد من الكفاءة.
Qما الاستخدامات النموذجية؟
Aالتجميع: d.setdefault(category, []).append(item)؛ عدّ الكلمات: d[w] = d.setdefault(w, 0) + 1.