القاموس (dict)
القاموس مجموعة علاقات تربِط كل مفتاح بـ قيمة.
مرجع بايثونمثال صفحات القراءة بحسب اليوم
في مثال القائمة حفظنا عدد الصفحات بحسب ترتيب الأيام. لكن إذا أردنا معرفة عدد صفحات يوم الجمعة، فعلينا تذكّر موضعه في القائمة. نريد الآن ربط كل عدد باسم اليوم الذي يخصّه.
يمكننا إنشاء متغير لكل يوم:
لكن هذه المتغيرات منفصلة، ونحتاج إلى كتابة أسمائها جميعًا كلما أردنا معالجة بيانات الأسبوع معًا. نحتاج إلى حاوية تجمعها وتحفظ العلاقة بين اسم اليوم وعدد صفحاته.
إنشاء القاموس
في مثالنا، اسم اليوم هو المفتاح، وعدد الصفحات هو القيمة. نكتب الأزواج بين قوسين معقوفين، ونفصل المفتاح عن قيمته بنقطتين ::
المرور على مفاتيح القاموس وقيمه
نستخدم النمط for key, value in dict.items() للمرور على كل مفتاح وقيمته معًا. في مثالنا، يأخذ key اسم اليوم، ويأخذ value عدد صفحاته في كل دورة:
تعيد items() أزواج المفاتيح والقيم بترتيب إدخالها في القاموس. أما for key in pages_by_day فتمر على المفاتيح وحدها. الاسمان key وvalue نختارهما نحن، وpages_by_day هو اسم القاموس.
الوصول إلى قيمة وتعديلها
نستخرج القيمة بكتابة مفتاحها بين قوسين مربعين بعد اسم القاموس:
الناتج 5. لم نحتج إلى معرفة موضع الجمعة؛ استخدمنا اسمها للوصول إلى عدد صفحاتها.
وإذا صحّحنا سجل الجمعة إلى 8 صفحات، نغيّر القيمة المرتبطة بمفتاحها:
الناتجان 8 و7. تغيّر عدد صفحات الجمعة، وبقي عدد الأيام سبعة؛ فإسناد قيمة إلى مفتاح موجود يحدّث قيمته، ولا يضيف يومًا آخر. المفتاح لا يتكرر، أما القيم فيمكن أن تتساوى بين أيام مختلفة.
حذف مفتاح وقيمته
وإذا أردنا حذف سجل الجمعة من القاموس، نستخدم del مع مفتاحه:
الناتجان False و6. حُذف المفتاح "friday" وقيمته معًا، وبقيت مفاتيح الأيام الأخرى كما هي. المعامل in هنا يتحقق من وجود المفتاح في القاموس.
في القائمة استخدمنا الموضع 6، وفي القاموس استخدمنا المفتاح "friday". وفي الحالتين نقرأ القيمة بالقوسين المربعين، ونغيّرها بإسناد قيمة جديدة باستخدام =، ونحذفها بالكلمة المحجوزة del.
مثال: الكلمة ومعناها
نربط كل كلمة إنجليزية بمعناها المكتوب بالإنجليزية:
مثال: ربط الأسماء بالأرقام
دليل أرقام الهواتف قاموس:
مثال: دليل أسماء النطاقات
دليل أسماء النطاقات (DNS: Domain Name System) على شبكة الإنترنت قاموس:
مثال: الكلمات المختصرة
أو الاختصارات إلى الكلمة التامة:
خلاصة
- القاموس يربط كل مفتاح بقيمة: اسم اليوم وعدد صفحاته.