MyMisPal
→ دروس Python
الدرس 8 من 13

القواميس (Dictionaries)

القاموس يحفظ أزواج «مفتاح: قيمة». فكّر فيه كصف في جدول قاعدة بيانات: المفاتيح أسماء الأعمدة.

PYTHON
emp = {"id": 7, "name": "Lina", "dept": "IT", "salary": 13500}
print(emp["name"], emp["salary"])
emp["salary"] = 14000
emp["city"] = "Jeddah"
print(emp)
PYTHON
emp = {"id": 7, "name": "Lina", "dept": "IT"}
for key, value in emp.items():
    print(key, "->", value)
print(emp.get("phone", "not set"))

وقائمة من القواميس = جدول كامل. هذا الكود يسوي نفس اللي يسويه GROUP BY في SQL:

PYTHON
employees = [
    {"name": "Sara", "dept": "Sales", "salary": 9500},
    {"name": "Omar", "dept": "Sales", "salary": 9000},
    {"name": "Lina", "dept": "IT", "salary": 13500},
]
by_dept = {}
for e in employees:
    by_dept[e["dept"]] = by_dept.get(e["dept"], 0) + e["salary"]
for dept in sorted(by_dept):
    print(dept, by_dept[dept])
انتبهemp["phone"] تعطيك خطأ KeyError إذا المفتاح مو موجود، أما emp.get("phone") ترجع None بهدوء.

تمارين

تمرين 1

عندك stock = {"Laptop": 25, "Router": 60, "Chair": 30}. أضف "Monitor" بكمية 35، ثم اطبع كمية Router، ثم عدد المنتجات.

تمرين 2

عندك طلبات بصيغة (مدينة، مبلغ). اجمع المبيعات لكل مدينة في قاموس، واطبع كل مدينة ومجموعها مرتبة أبجدياً، مثل: Dammam 500.

لقيت خطأ في هذي الصفحة، أو عندك فكرة تحسّن الموقع؟