المدونةالفصل الثانيثالث متوسطالقواميس (Dictionaries) | الوحدة الثالثة | الدرس الأول

القواميس (Dictionaries) | الوحدة الثالثة | الدرس الأول

القواميس (Dictionaries)

القواميس (Dictionaries) هو عنوان الدرس الأول من الوحدة الثالثة التي تحمل اسم “هياكل البيانات الخطية” في الفصل الدراسي الثاني من مقرر “المهارات الرقمية – ثالث متوسط”.

سنتعرف في هذا الموضوع على ماهية القواميس (Dictionaries) التي تعدُّ نوعًا من أنواع هياكل البيانات الخطية، وكيفية إنشائها، وأيضًا استخدام الدوال المدمجة في لغة بايثون مع القاموس، وكذلك إنشاء مشروع لمحاكاة تصميم برنامج لأحد البنوك باستخدام هياكل بيانات القاموس وهيكل بيانات القائمة.

القواميس (Dictionaries)

قم بقراءة نواتج التعلُّم بعناية، ثم أعد قراءتها وتأكَّد من تحصيل محتواها بعد انتهائك من دراسة الموضوع.

نواتج التعلُّم

  • معرفة ماهية القائمة وصيغتها البرمجية في لغة بايثون.
  • معرفة ماهية القواميس (Dictionaries) وصيغتها البرمجية في لغة بايثون.
  • معرفة ماهية صف البيانات وصيغته البرمجية في لغة بايثون.
  • إنشاء القاموس بطرق مختلفة والتمييز بينها.
  • معرفة الدوال المدمجة في لغة بايثون التي يمكِن استخدامها مع القاموس.
  • كيفية الوصول إلى عناصر القاموس وتغيير قيمتها.
  • حذف عنصر من القاموس.
  • معرفة استخدامات هياكل البيانات في بايثون.
  • إنشاء برنامج محاكاة لأحد البنوك باستخدام هياكل البيانات.

هيا لنبدأ!

هياكل البيانات الخطية

تعلَّمت سابقًا عن هياكل البيانات البسيطة وبعض أنواع هياكل البيانات الخطية مثل الصفوف والقائمة.

القائمة

تعدُّ القوائم أحد أكثر هياكل البيانات استخدامًا في بايثون. تتكوَّن القائمة (List) من سلسلة مرتَّبة من كائنات مستخدَمة لتخزين البيانات بأنواعها، حيث يُشترط أن تكون عناصر القائمة من نفس النوع.

يتم فصل عناصر القائمة بإضافة الفواصل بينها، وذلك داخل أقواس مربعة، ويمكِن للمُستخدِم إعداد عناصر القائمة أو إدخالها.

القواميس (Dictionaries)

صف البيانات

الصف (Tuple) هو أحد هياكل البيانات الأخرى في بايثون. ويضم عددًا مرتبًا من البيانات، ويمكِن أن يخزَّن داخلها أي نوع من القيم.

يتم كتابة الصف على شكل قائمة من القيم بينها فواصل وداخل أقواس دائرية. لا يمكِن تغيير القيم في الصف، ولذلك يوصف بأنه هيكل بيانات غير قابل للتعديل.

يتم استخدام الصفوف في الحالات التي تحتاج الوصول إلى البيانات التي تم إجراؤها في القوائم، ولكن دون الحاجة لتغييرها، مثل رقم الهوية أو البريد الإلكتروني لشخص. هذا يجعل صفوف البيانات أكثر أمانًا.

بعد أن اكتسبتَ الكثير من الخبرة في لغة برمجة بايثون (Python)، حان الوقت لكي تتعرف على نوع آخر من أنواع هياكل البيانات الخطية، وهو القاموس (Dictionary)، وكذلك على دواله المدمجة بلغة بايثون.

القاموس

يعدُّ القاموس (Dictionary) هيكل بيانات قابل للتغيير يتضمن مجموعة من العناصر، ويتكون كل عنصر في القاموس من زوج من القيم على صورة المفتاح:القيمة (Key:value).

يختلف القاموس عن هياكل البيانات الأخرى بإمكانية الوصول إلى عناصره من خلال مفتاح القاموس وليس بواسطة رقم الفهرس، كما هو الحال مع القوائم والصفوف.

يمكِن أن تتنوع قيم المفاتيح في هيكل بيانات القاموس لتحتوي على أي نوع من أنواع البيانات.

القواميس (Dictionaries)

  • يتم استخدام الأقواس المتعرجة { } عند تعريف القاموس، ويتم استخدام النقطتان الرأسيتان للفصل بين المفتاح والقيمة.
  • لا يمكِن أن يتواجد عنصران في القاموس بنفس المفتاح، فكل مفتاح يسمح بالوصول إلى إحدى القيم الموجودة في القاموس.

إنشاء القاموس

هناك طريقتان لإنشاء القاموس، ففي الطريقة الأولى يمكِن وضع سلسلة من العناصر داخل أقواس متعرجة { } يفصل بينها بفاصلة كما في المثال الآتي:

لاحظ أن

يمكِنك في بايثون استخدام علامات تنصيص مفردة أو مزدوجة.

الطريقة الثانية لإنشاء القاموس تكون باستخدام أمر الإنشاء dict ( ).

لاحظ أن

يتمثل الاختلاف الرئيس بين القوائم والقواميس في طريقة الوصول إلى العناصر. يتم الوصول لعناصر القائمة بواسطة رقم الفهرس، بينما يتم الوصول إلى عناصر القاموس من خلال مفاتيحه.

القواميس (Dictionaries)

الوصول إلى عناصر القاموس

لا يحتوي عنصر القاموس على رقم فهرس، ولكن توجد طريقتان للوصول إلى العناصر بداخله:

  • باستخدام مفتاح العنصر المكتوب داخل أقواس مربعة [ ].
  • باستخدام دالة get ( ).

القواميس (Dictionaries)

يمكِن استخدام الأوامر الآتية لتغيير قيمة عنصر داخل القاموس:

القواميس (Dictionaries)

الدوال المستخدمة مع القاموس

يوفِّر بايثون مجموعة من الدوال المدمجة التي يمكِن استخدامها مع القواميس.

لاحظ أن

يجب استبدال كلمة “dictName” باسم القاموس الذي أنشأته.

بإمكانك مراجعة محتوى موضوع “القواميس (Dictionaries)” من بدايته وحتى هذه النقطة، من خلال الرابط التالي:

dictName.keys( ) وdictName.values ( )

يتم استخدام هذه الوظائف للحصول على مفاتيح وقيم القاموس. في المثال الآتي، ستستخدمها لطباعة أسماء البلدان (مفاتيح القاموس) ومدنها (القيم).

dictName.clear( )

يمكِن استخدام دالة clear( ) لإزالة جميع عناصر القاموس.

القواميس (Dictionaries)

القواميس (Dictionaries)

حذف عنصر من القاموس

إذا رغبت بحذف عنصر من القاموس، يمكِنك استخدام كلمة del متبوعةً باسم القاموس والمفتاح الموجود بين قوسين مربعين، ويمكِنك حذف القاموس بأكمله أيضًا باستخدام كلمة del متبوعةً باسم القاموس.

القواميس (Dictionaries)

القواميس (Dictionaries)

استخدامات هياكل البيانات

يتم استخدام كل هيكل من هياكل البيانات لأغراض مختلفة، يمكِن توضيحها في الجدول الآتي:

مشروع البنك

ستنشئ الآن مشروعًا لمحاكاة إنشاء برنامج لأحد البنوك خطوة بخطوة. يحتوي سجل عميل البنك على بيانات مسجلة تتعلق به، وتتضمن:

  • قم الحساب.
  • اسم العميل.
  • رصيد الحساب.

ستستخدِم هيكل بيانات القاموس لحفظ بيانات العميل، بحيث سيكون رقم الحساب كقيمة فريدة بمثابة المفتاح. ستواجه مشكلة في تحديد القيم المرتبطة، حيث إنَّ سجل العميل يحتوي على اسمه ورصيده أيضًا، وبالتالي يمكِنك استخدام قائمة كقيمة مرتبطة بالمفتاح.

من خلال المقطع البرمجي الآتي ستقوم ببرمجة عملية الإيداع في الحساب، وهي عملية إضافة المبلغ المُدخَل إلى رصيد الحساب.

القواميس (Dictionaries)

بإمكانك مراجعة موضوع “القواميس (Dictionaries)” بالكامل، من خلال الرابط التالي:

إلى هنا يكون قد انتهى موضوع “القواميس (Dictionaries)”، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!

روابط هامة

مقررات الفصل الدراسي الثاني

مشاركة المقال عبر:

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *