📝 ملخص الصفحة
📚 تحديث القواميس والدوال keys() و values()
المفاهيم الأساسية
dictName.update(x): تضيف أزواج عناصر جديدة أو تحدث القيم للمفاتيح الموجودة.
dictName.keys(): ترجع جميع المفاتيح الموجودة في القاموس.
dictName.values(): ترجع جميع القيم الموجودة في القاموس.
خريطة المفاهيم
```markmap
هياكل البيانات
هياكل بيانات غير بسيطة (Non-Primitive)
هياكل بيانات خطية (Linear)
#### القواميس (Dictionary)
##### طريقة الإنشاء
###### الطريقة الثانية: أمر dict()
##### إنشاء قاموس عن طريق إدخال المستخدم
- استخدام حلقة تكرار (for loop) لجمع البيانات
- استخدام دالة الإدخال (input()) لقراءة المفتاح والقيمة من المستخدم
- إضافة العنصر إلى القاموس باستخدام الصيغة: myDict[key] = value
##### الوصول إلى العناصر
###### الطريقة الأولى: باستخدام المفتاح بين أقواس مربعة []
- مثال: capital1 = ArabGulf["SaudiArabia"]
###### الطريقة الثانية: باستخدام دالة .get()
- مثال: capital2 = ArabGulf.get("Oman")
##### تعديل العناصر
- إعادة تعيين قيمة مفتاح موجود
- مثال: Employees["Saad"] = "Data Scientist"
##### الدوال المستخدمة مع القواميس
###### dictName.get(x)
- ترجع القيمة المرتبطة بالمفتاح x، أو ترجع None إذا لم يوجد المفتاح.
###### dictName.update(x)
- تضيف أزواج عناصر جديدة أو تحدث القيم للمفاتيح الموجودة.
###### dictName.values()
- ترجع جميع القيم الموجودة في القاموس.
###### dictName.keys()
- ترجع جميع المفاتيح الموجودة في القاموس.
###### dictName.clear()
- تحذف جميع العناصر الموجودة في القاموس.
```
نقاط مهمة
- دالة `update()` تستخدم لإضافة عنصر جديد إلى القاموس أو تحديث قيمة مفتاح موجود.
- دالة `keys()` ترجع قائمة تحتوي على جميع مفاتيح القاموس.
- دالة `values()` ترجع قائمة تحتوي على جميع قيم القاموس.
📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
نوع: محتوى تعليمي
id_numbers = {
"Khalid": 154327,
"Saad": 154876,
"Hamad": 164523
}
print(id_numbers)
نوع: محتوى تعليمي
new_id={"Ahmed" :174527}
id_numbers.update(new_id)
print(id_numbers)
نوع: محتوى تعليمي
حدث قيمة المفتاح الموجود
نوع: محتوى تعليمي
update_id={"Saad":154651}
id_numbers.update(update_id)
print(id_numbers)
نوع: محتوى تعليمي
{'Khalid': 154327, 'Saad': 154876, 'Hamad': 164523}
{'Khalid': 154327, 'Saad': 154876, 'Hamad': 164523, 'Ahmed': 174527}
{'Khalid': 154327, 'Saad': 154651, 'Hamad': 164523, 'Ahmed': 174527}
نوع: محتوى تعليمي
dictName.values() و dictName.keys()
نوع: محتوى تعليمي
تستخدم هذه الوظائف للحصول على مفاتيح وقيم القاموس. في المثال الآتي، ستستخدمهما لطابعة أسماء البلدان (مفاتيح القاموس) ومدنها (القيم).
نوع: محتوى تعليمي
ArabGulf = {
"SaudiArabia" : "Riyadh",
"Oman" : "Muscat",
"Bahrain" : "Manama"
}
k=ArabGulf.keys()
print(k)
v=ArabGulf.values()
print(v)
نوع: محتوى تعليمي
dict_keys(['SaudiArabia', 'Oman', 'Bahrain'])
dict_values(['Riyadh', 'Muscat', 'Manama'])
نوع: METADATA
وزارة التعليم
Ministry of Education
2025 - 1447
نوع: METADATA
189
📄 النص الكامل للصفحة
id_numbers = {
"Khalid": 154327,
"Saad": 154876,
"Hamad": 164523
}
print(id_numbers)
new_id={"Ahmed" :174527}
id_numbers.update(new_id)
print(id_numbers)
حدث قيمة المفتاح الموجود
update_id={"Saad":154651}
id_numbers.update(update_id)
print(id_numbers)
{'Khalid': 154327, 'Saad': 154876, 'Hamad': 164523}
{'Khalid': 154327, 'Saad': 154876, 'Hamad': 164523, 'Ahmed': 174527}
{'Khalid': 154327, 'Saad': 154651, 'Hamad': 164523, 'Ahmed': 174527}
dictName.values() و dictName.keys()
تستخدم هذه الوظائف للحصول على مفاتيح وقيم القاموس. في المثال الآتي، ستستخدمهما لطابعة أسماء البلدان (مفاتيح القاموس) ومدنها (القيم).
ArabGulf = {
"SaudiArabia" : "Riyadh",
"Oman" : "Muscat",
"Bahrain" : "Manama"
}
k=ArabGulf.keys()
print(k)
v=ArabGulf.values()
print(v)
dict_keys(['SaudiArabia', 'Oman', 'Bahrain'])
dict_values(['Riyadh', 'Muscat', 'Manama'])
وزارة التعليم
Ministry of Education
2025 - 1447
189
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 3 بطاقة لهذه الصفحة
ما وظيفة الطريقة `update()` عند استخدامها مع القاموس (Dictionary) في لغة بايثون؟
- أ) تستخدم لحذف عنصر معين من القاموس بناءً على مفتاحه.
- ب) تستخدم لفرز عناصر القاموس ترتيباً تصاعدياً حسب المفاتيح.
- ج) تستخدم لإضافة عناصر جديدة من قاموس آخر إلى القاموس الحالي، وتحديث قيم المفاتيح الموجودة إذا كانت موجودة.
- د) تستخدم لدمج قيمتين لنفس المفتاح في القاموس في قيمة واحدة.
الإجابة الصحيحة: c
الإجابة: تستخدم لإضافة عناصر جديدة من قاموس آخر إلى القاموس الحالي، وتحديث قيم المفاتيح الموجودة إذا كانت موجودة.
الشرح: 1. `update()` هي طريقة خاصة بالقواميس في بايثون.
2. إذا كان المفتاح غير موجود، تضيفه مع قيمته.
3. إذا كان المفتاح موجوداً، تقوم بتحديث قيمته بالقيمة الجديدة.
4. في المثال: `id_numbers.update(new_id)` أضاف العنصر الجديد، و`id_numbers.update(update_id)` قام بتحديث قيمة 'Saad'.
تلميح: تأمل ما يحدث عند إضافة قاموس جديد وقاموس لتحديث قيمة مفتاح موجود في المثال.
التصنيف: مفهوم جوهري | المستوى: متوسط
ما الذي ستعيده الدالة `dictName.keys()` عند استدعائها على قاموس في بايثون؟
- أ) قائمة عادية (list) تحتوي على جميع القيم الموجودة في القاموس.
- ب) كائن من النوع `dict_keys` يحتوي على قائمة بجميع المفاتيح الموجودة في القاموس.
- ج) عدد صحيح يمثل عدد العناصر (المفاتيح) في القاموس.
- د) كائن من النوع `dict_values` يحتوي على قائمة بجميع المفاتيح الموجودة في القاموس.
الإجابة الصحيحة: b
الإجابة: كائن من النوع `dict_keys` يحتوي على قائمة بجميع المفاتيح الموجودة في القاموس.
الشرح: 1. `.keys()` هي دالة مدمجة للقواميس في بايثون.
2. وظيفتها استرجاع جميع المفاتيح الموجودة في القاموس.
3. لا تُرجع قائمة عادية (list)، بل تُرجع كائناً خاصاً من النوع `dict_keys`.
4. يمكن تحويل هذا الكائن إلى قائمة باستخدام `list()` إذا لزم الأمر.
تلميح: انظر إلى نتيجة الطباعة بعد استخدام `.keys()` في المثال الموجود في النص.
التصنيف: تعريف | المستوى: سهل
بعد تنفيذ الكود التالي، ما هي قيمة المفتاح 'Saad' في القاموس `id_numbers`؟
python
id_numbers = {"Khalid": 154327, "Saad": 154876, "Hamad": 164523}
update_id={"Saad":154651}
id_numbers.update(update_id)
- أ) 154876
- ب) 154327
- ج) 154651
- د) 164523
الإجابة الصحيحة: c
الإجابة: 154651
الشرح: 1. القاموس الأصلي يحتوي على المفتاح 'Saad' بقيمة 154876.
2. قاموس `update_id` يحتوي على نفس المفتاح 'Saad' بقيمة جديدة هي 154651.
3. عند استخدام `id_numbers.update(update_id)`، يتم البحث عن المفتاح 'Saad' في القاموس الأصلي.
4. بما أن المفتاح موجود، يتم استبدال قيمته القديمة (154876) بالقيمة الجديدة (154651).
5. النتيجة النهائية: 'Saad': 154651.
تلميح: تذكر أن وظيفة `update()` تقوم بتحديث قيمة المفتاح إذا كان موجوداً.
التصنيف: سؤال اختبار | المستوى: سهل