الدرس 2 من 10
القواميس المختصرة
- 11 دقيقة
- 5 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
تصفية القاموس وقلبه في سطر
الشرح
ما تعلّمته مع القوائم يصلح للقواميس أيضًا، فتكتب {k: v for k, v in d.items()} بأقواس معقوفة، وتضع نقطتين بين المفتاح والقيمة، و.items() تعطيك المفتاح والقيمة معًا في كل دورة.
وبهذا الشكل تستطيع أن تصفّي قاموسًا بشرط تضعه في آخره، أو تقلبه فتجعل القيم مفاتيح والمفاتيح قيمًا: {v: k for k, v in d.items()}، فيصير البحث بالقيمة بحثًا بالمفتاح، وهذا أسرع وأوضح من حلقة تبحث في القاموس كله.
لكن انتبه عند القلب إلى أن المفاتيح لا تتكرّر، فإذا تكرّرت قيمة في القاموس الأصلي بقي آخر مفتاح لها وضاع ما قبله دون أي خطأ أو تحذير، لذلك لا تقلب إلا قاموسًا لا تتكرّر قيمه.
المطلوب
اصنع من prices القاموس cheap وفيه ما سعره أقلّ من 10، واكتب الدالة invert(d) لتُرجع أي قاموس مقلوبًا، ثم اكتب by_city = invert(codes)، واستعمل القواميس المختصرة في ذلك كله.
الفحوص
5 فحوص- القاموس cheap فيه ما سعره أقلّ من 10 فقط
- القاموس prices لم يتغيّر
- الدالة invert تقلب أي قاموس
- القاموس by_city يعطي رمز كل مدينة
- مكتوبة بقواميس مختصرة