0 تصويتات
منذ في تصنيف البرمجة بواسطة admin6 (181ألف نقاط)
ما الفرق بين List و Dictionary؟

1 إجابة واحدة

0 تصويتات
منذ بواسطة admin6 (181ألف نقاط)

الفرق بين List و Dictionary

الفرق الأساسي بين List و Dictionary في البرمجة يكمن في طريقة تخزين البيانات والوصول إليها. الـ List هي مجموعة مرتبة من العناصر يمكن الوصول إليها عبر مؤشر رقمي (index)، بينما الـ Dictionary هي مجموعة غير مرتبة من الأزواج المكونة من مفتاح (key) وقيمة (value)، حيث يمكن الوصول إلى القيم عبر هذه المفاتيح.

ما هي List؟

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

على سبيل المثال، إذا كنت تريد تخزين أسماء أفراد عائلة أو قائمة مهام، فإن الـ List هي خيار مناسب لأنها تحافظ على ترتيب هذه العناصر ويمكنك التكرار عليها بسهولة باستخدام الفهارس.

ما هي Dictionary؟

الـ Dictionary، تعرف أيضاً بالخريطة أو القاموس، عبارة عن تركيب بيانات يمثل مجموعة من الأزواج المفتاح والقيمة. في هذه التركيبة، المفتاح يجب أن يكون فريدًا ولا يمكن تكراره، أما القيمة فيمكن أن تكون أي نوع من البيانات. أهم ميزة في الـ Dictionary هي إمكانية الوصول المباشر للسجلات عبر المفتاح، مما يجعل عمليات البحث أسرع في حال كنت تعرف المفتاح المُراد الوصول إلى قيمته.

تُستخدم الـ Dictionary عادةً عند الحاجة للربط بين بيانات، مثل ربط اسم موظف برقم هويته أو ربط اسم منتج بسعره. كما أن ترتيب العناصر في الـ Dictionary غير مضمون، ولكن في بعض لغات البرمجة الحديثة مثل Python 3.7 وما بعدها، الحفاظ على ترتيب الإدخال ممكن.

الاختلافات العملية بين List و Dictionary

1. الوصول للبيانات: في الـ List، تحتاج إلى معرفة موقع العنصر (الفهرس) للوصول له. أما في الـ Dictionary فتستخدم المفتاح للوصول للقيمة بشكل مباشر.

2. الترتيب: الـ List تؤمن ترتيبًا ثابتًا للعناصر، بينما الـ Dictionary تقليديًا لا يضمن ترتيبًا معينًا للعناصر (رغم أن بعض اللغات تدعم الحفاظ على الترتيب).

3. الاحتياجات: استخدم الـ List إذا كنت ترغب في تخزين بيانات متسلسلة أو قابلة للترتيب. أما الـ Dictionary فهي الأنسب إذا كنت بحاجة إلى تخزين بيانات مترابطة حيث يمكن الوصول إلى القيم عبر معرف فريد.

4. الأداء: عمليات البحث في الـ Dictionary عادة أسرع لأنها تعتمد على المفتاح بدلاً من أن تقوم بفحص كل عنصر، كما هو الحال في الـ List عند البحث عن قيمة معينة.

...