القواميس — تخزين البيانات المرتبطة 🗂️
القاموس (Dictionary) يخزن البيانات كأزواج من المفتاح والقيمة. مثل دفتر الهاتف: الاسم (مفتاح) → الرقم (قيمة).
خصائص القاموس
- المفاتيح يجب أن تكون فريدة وغير قابلة للتغيير (str, int, tuple)
- القيم يمكن أن تكون أي نوع بيانات
- سريع جداً في البحث O(1)
- يحافظ على ترتيب الإدراج (منذ بايثون 3.7)
تمرين
اكتب برنامجاً يُنشئ قاموس طلاب (اسم: درجة) لخمسة طلاب، ثم يجد الطالب الأعلى درجة والأدنى درجة.
💡 تلميح: استخدم max() و min() مع key=students.get للبحث بالقيم.
students = {
"أحمد": 92,
"سارة": 88,
"خالد": 95,
"نورة": 78,
"عمر": 85
}
best = max(students, key=students.get)
worst = min(students, key=students.get)
avg = sum(students.values()) / len(students)
print(f"الأعلى: {best} ({students[best]})")
print(f"الأدنى: {worst} ({students[worst]})")
print(f"المعدل: {avg:.1f}")