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