دوال القواميس الأساسية
| الدالة | الوظيفة | مثال |
|---|---|---|
| get(k, d) | قيمة المفتاح أو default | d.get('name', 'N/A') |
| keys() | كل المفاتيح | d.keys() |
| values() | كل القيم | d.values() |
| items() | كل الأزواج | d.items() |
| pop(k) | حذف وإرجاع | d.pop('name') |
| update(d2) | دمج قاموس | d.update(d2) |
| clear() | حذف الكل | d.clear() |
| copy() | نسخة سطحية | d.copy() |
## القواميس (Dictionaries)
القاموس هو هيكل بيانات يخزن البيانات كأزواج **مفتاح: قيمة**.
### إنشاء قاموس: ```python empty = {} person = { "name": "أحمد", "age": 28, "city": "القاهرة" } ```
### الوصول للقيم: ```python print(person["name"]) # أحمد print(person.get("name")) # أحمد (آمن) print(person.get("email", "غير موجود")) # قيمة افتراضية ```
### العمليات الأساسية: - **الإضافة/التعديل:** `dict[key] = value` - **الحذف:** `del dict[key]`، `pop(key)` - **المفاتيح:** `keys()` - **القيم:** `values()` - **الأزواج:** `items()`
| 1 | # إنشاء قاموس |
| 2 | student = { |
| 3 | "name": "سارة", |
| 4 | "grade": 10, |
| 5 | "score": 95.5 |
| 6 | } |
| 7 | |
| 8 | # الوصول |
| 9 | print(student["name"]) |
| 10 | print(student.get("email", "غير محدد")) |
| 11 | |
| 12 | # التعديل |
| 13 | student["score"] = 98 |
| 14 | student["city"] = "الرياض" |
| 15 | |
| 16 | # الحذف |
| 17 | del student["grade"] |
مثال 1: المرور على القاموس
| 1 | info = { |
| 2 | "python": 1991, |
| 3 | "javascript": 1995, |
| 4 | "java": 1996, |
| 5 | "c": 1972 |
| 6 | } |
| 7 | |
| 8 | # المرور على المفاتيح |
| 9 | for lang in info: |
| 10 | print(lang) |
| 11 | |
| 12 | # المرور على القيم |
| 13 | for year in info.values(): |
| 14 | print(year) |
| 15 | |
| 16 | # المرور على الأزواج |
| 17 | for lang, year in info.items(): |
| 18 | print(f"{lang} أُنشئت عام {year}") |
مثال 2: Dict Comprehension
| 1 | # إنشاء قاموس بطريقة مختصرة |
| 2 | words = ["python", "java", "c++"] |
| 3 | lengths = {word: len(word) for word in words} |
| 4 | print(lengths) # {'python': 6, 'java': 4, 'c++': 3} |
| 5 | |
| 6 | # قاموس من قائمتين |
| 7 | keys = ["name", "age", "city"] |
| 8 | values = ["أحمد", 25, "الرياض"] |
| 9 | person = dict(zip(keys, values)) |
| 10 | print(person) |