Python Academy · درس

الاختصارات البرمجية للقواميس

أنشئ القواميس بإيجاز باستخدام صياغة الاختصارات البرمجية

الدرس 4 من 414 خطوة

الاختصارات البرمجية للقواميس درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

مقدمة

يوفر استيعاب القواميس طريقة موجزة لإنشاء القواميس انطلاقًا من أي كائن قابل للتكرار.

استيعاب القواميس الأساسي

الصيغة الأساسية هي {k: v for k, v in items}. مثال: يربط {x: x**2 for x in range(5)} الأعداد بمربعاتها.
squares = {x: x**2 for x in range(5)}
print(squares)

مع استخدام شرط

أضيفوا if في النهاية للتصفية: تحتفظ {x: x**2 for x in range(10) if x % 2 == 0} بالأعداد الزوجية فقط.
evens = {x: x**2 for x in range(10) if x % 2 == 0}
print(evens)

عكس قاموس

يبدّل {v: k for k, v in d.items()} المفاتيح والقيم. ولا يعمل ذلك إلا إذا كانت جميع القيم فريدة وقابلة للتجزئة.
d = {'a': 1, 'b': 2, 'c': 3}
inverted = {v: k for k, v in d.items()}
print(inverted)

من قائمتين

تُعد {k: v for k, v in zip(keys, values)} أوضح طريقة لإنشاء قاموس من قائمتين متوازيتين.
keys = ['name', 'age']
vals = ['Alice', 30]
d = {k: v for k, v in zip(keys, vals)}
print(d)

تحويل القيم

طبّقوا دالة على جميع القيم: يحوّل {k: v.upper() for k, v in d.items()} جميع القيم النصية إلى أحرف كبيرة.
d = {'a': 'hello', 'b': 'world'}
result = {k: v.upper() for k, v in d.items()}
print(result)

استيعاب القواميس المتداخل

تُنشئ {outer_k: {inner_k: inner_v} ...} استيعابات متداخلة. ضعوا سهولة القراءة في الحسبان؛ فإذا كانت الصيغة معقدة، استخدموا حلقة عادية.
nested = {i: {j: i*j for j in range(3)} for i in range(3)}
print(nested)

التجميع باستخدام الاستيعاب

لِتجميع العناصر حسب خاصية، استخدموا: {k: [v for v in values if condition(v, k)] for k in keys}
words = ['apple', 'art', 'banana', 'blueberry']
grouped = {ch: [w for w in words if w.startswith(ch)] for ch in 'ab'}
print(grouped)

الدمج والاستبدال

تدمج {**d1, **d2} قاموسين بطريقة تشبه الاستيعاب. وتكون قيم d2 هي المعتمدة عند تكرار المفاتيح.
d1 = {'a': 1, 'b': 2}
d2 = {'b': 99, 'c': 3}
merged = {**d1, **d2}
print(merged)

القاموس أم defaultdict

تنشئ الاستيعابات قواميس عادية. استخدموا defaultdict عند الحاجة إلى التهيئة التلقائية للمفاتيح الغائبة.
from collections import defaultdict
d = defaultdict(list)
for w in ['apple', 'art', 'banana']:
    d[w[0]].append(w)
print(dict(d))

الأداء

تكون استيعابات القواميس عمومًا أسرع من عمليات الإنشاء المكافئة باستخدام حلقات for، لأن المفسر يحسّنها داخليًا.
# Comprehension
squares = {x: x**2 for x in range(1000)}
print(len(squares))

تحقق سريع

ماذا يفعل {v: k for k, v in d.items()}؟

مراجعة

صيغة استيعاب القواميس هي: {k: v for ... if ...}. استخدموها لعكس المفاتيح والقيم، وتحويل القيم، والتجميع، والتصفية. ويمكن دمجها مع zip() للتعامل مع القوائم المتوازية.

تابعوا التقدم

عمل رائع! انتقلوا إلى الدرس التالي لمواصلة تطوير مهاراتكم.
البدء مجانًا

تعلم Python مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
76
الدروس
320

الأسئلة الشائعة

هل درس «الاختصارات البرمجية للقواميس» مجاني؟

نعم — نص درس «الاختصارات البرمجية للقواميس» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «الاختصارات البرمجية للقواميس»؟

أنشئ القواميس بإيجاز باستخدام صياغة الاختصارات البرمجية تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «الاختصارات البرمجية للقواميس»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات القواميس
  2. أساليب القواميس
  3. المجموعات وعملياتها
  4. الاختصارات البرمجية للقواميس
← العودة إلى Python Academy