تعلم لغة البايثون – الدرس الحادي عشر القواميس Python Dictionaries
القاموس هو نوع بيانات مشابه للصفائف ، ولكنه يعمل مع المفاتيح والقيم بدلاً من الفهارس. يمكن الوصول إلى كل قيمة مخزنة في القاموس باستخدام مفتاح ، وهو أي نوع من الكائنات (سلسلة ، رقم ، قائمة ، إلخ) بدلاً من استخدام فهرسه لمعالجته.
على سبيل المثال ، يمكن تخزين قاعدة بيانات لأرقام الهواتف باستخدام قاموس مثل هذا:
phonebook = {} phonebook["Akrem"] = 938477566 phonebook["Mounir"] = 938377264 phonebook["Abdelwahab"] = 947662781 print(phonebook)
سنحصل على النتيجة التالية عند التشغيل
{'Akrem': 938477566, 'Abdelwahab': 947662781, 'Mounir': 938377264}
بدلاً من ذلك ، يمكن تهيئة القاموس بنفس القيم في التدوين التالي:
phonebook = { "Akrem" : 938477566, "Mounir" : 938377264, "Abdelwahab" : 947662781 } print(phonebook)
سنحصل على النتيجة التالية عند التشغيل
{'Akrem': 938477566, 'Abdelwahab': 947662781, 'Mounir': 938377264}
التكرار على القواميس
يمكن تكرار القواميس ، تمامًا مثل القائمة. ومع ذلك ، فإن القاموس ، على عكس القائمة ، لا يحتفظ بترتيب القيم المخزنة فيه. للتكرار عبر أزواج قيمة المفتاح ، استخدم بناء الجملة التالي
phonebook = {"Akrem" : 938477566,"Mounir" : 938377264,"Abdelwahab" : 947662781} for name, number in phonebook.items(): print("Phone number of %s is %d" % (name, number))
سنحصل على النتيجة التالية عند التشغيل
Phone number of Akrem is 938477566 Phone number of Abdelwahab is 947662781 Phone number of Mounir is 938377264
إزالة قيمة
لإزالة فهرس محدد ، استخدم أحد الرموز التالية:
phonebook = { "Akrem" : 938477566, "Mounir" : 938377264, "Abdelwahab" : 947662781 } del phonebook["Akrem"] print(phonebook)
سنحصل على النتيجة التالية عند التشغيل
{'Abdelwahab': 947662781, 'Mounir': 938377264}
أو:
phonebook = { "John" : 938477566, "Mounir" : 938377264, "Abdelwahab" : 947662781 } phonebook.pop("John") print(phonebook)
سنحصل على النتيجة التالية عند التشغيل
{'Abdelwahab': 947662781, 'Mounir': 938377264}
تمرين
أضف “جيك” إلى دليل الهاتف برقم الهاتف 938273443 ، وأزل جيل من دفتر الهاتف.
phonebook = { "John" : 938477566, "Mounir" : 938377264, "Abdelwahab" : 947662781 } # اكتب الرمز الخاص بك هنا # كود الاختبار if "Jake" in phonebook: print("Jake is listed in the phonebook.") if "Abdelwahab" not in phonebook: print("Abdelwahab is not listed in the phonebook.")
الحل
phonebook = { "John" : 938477566, "Mounir" : 938377264, "Abdelwahab" : 947662781 } # اكتب الرمز الخاص بك هنا phonebook["Jake"] = 938273443 del phonebook["Abdelwahab"] # كود الاختبار if "Jake" in phonebook: print("Jake is listed in the phonebook.") if "Abdelwahab" not in phonebook: print("Abdelwahab is not listed in the phonebook.")
سنحصل على النتيجة التالية عند التشغيل
<script.py> output: Jake is listed in the phonebook. Abdelwahab is not listed in the phonebook.