أنواع هياكل البيانات في بايثون: قائمة ، مجموعة ، مجموعات وقاموس
نشرت: 2020-12-30Python هي لغة مفضلة لجميع المتحمسين لعلوم البيانات. تساعد الطبيعة متعددة الاستخدامات والنهج سهل الفهم المطورين على التركيز بشكل أكبر على فهم الاتجاهات في البيانات واشتقاق رؤى ذات مغزى بدلاً من قضاء الوقت في إصلاح خطأ بسيط بالفاصلة المنقوطة أو إغلاق القوس العلوي. يتم تكييف بايثون باعتبارها اللغة الأكثر شيوعًا بين المبتدئين بسرعة ، لذلك يصبح من المهم الحصول على فهم جيد لهذه اللغة.
هياكل البيانات هي مفهوم أساسي في أي لغة برمجة. يحدد كيف يمكن تخزين المتغيرات والبيانات واسترجاعها من الذاكرة بأفضل طريقة ممكنة ، اعتمادًا على نوع البيانات. كما تحدد العلاقة بين المتغيرات ، مما يساعد في تحديد العمليات والوظائف التي يجب أداؤها عليها. دعونا نفهم كيف تدير بايثون البيانات.
جدول المحتويات
أنواع هياكل البيانات في بايثون
1. قائمة
هذا هو أبسط بنية بيانات وأكثرها استخدامًا في برمجة Python. كما يوحي الاسم ، إنها مجموعة من العناصر التي سيتم تخزينها. يمكن أن تكون العناصر المخزنة من أي نوع رقمي ، أو سلسلة ، أو منطقية ، أو كائنات ، وما إلى ذلك مما يجعلها غير متجانسة. هذا يعني أن القائمة يمكن أن تحتوي على أي نوع من البيانات ويمكننا تكرار هذه القائمة باستخدام أي نوع من الحلقات.
عادة ما تقترن العناصر المخزنة بفهرس يحدد الموقع في القائمة. يبدأ ترقيم الفهرس من الصفر. القائمة قابلة للتغيير ، مما يعني أنه يمكن إضافة عناصر في القائمة أو إزالتها أو تغييرها حتى بعد تعريفها. تشبه بنية البيانات هذه المصفوفات في اللغات الأخرى والتي عادة ما تكون متجانسة ، مما يعني أنه يمكن تخزين نوع واحد فقط من البيانات في المصفوفات. فيما يلي بعض العمليات الأساسية في القوائم:
- للإعلان عن قائمة بلغة بايثون ، ضعها بين قوسين مربعين:
sample_list = ['upGrad'، '1'، 2]
- لتهيئة قائمة فارغة:
sample_list = list ()
- أضف عناصر إلى القائمة:
sample_list.append ("new_element")
- إزالة العناصر من القائمة:
sample_list.remove (<اسم العنصر>) يزيل العنصر المحدد
يقوم del sample_list [<element index num>] بإزالة العنصر الموجود في هذا الفهرس
يقوم sample_list.pop (<element index num>) بإزالة عنصر هذا الفهرس وإرجاع العنصر الذي تمت إزالته
- لتغيير عنصر في أي فهرس:
sample_list [<أي فهرس>] = عنصر جديد
- التقطيع : هذه ميزة مهمة يمكنها تصفية العناصر الموجودة في القائمة في حالات معينة. ضع في اعتبارك أنك تطلب فقط نطاقًا محددًا من القيم من القائمة ، فيمكنك القيام بذلك ببساطة عن طريق:
sample_list [start: stop: step] حيث تحدد الخطوة الفجوة بين العناصر وتكون افتراضيًا 1.
تعرف على المزيد حول: كيفية إنشاء شجرة قرارات مثالية
2. Tuple
هذا هو هيكل بيانات آخر يخزن البيانات بشكل تسلسلي ، مما يعني أن البيانات المضافة تظل بطريقة منظمة مثل القوائم. باتباع نفس الأسطر ، يمكن لـ Tuple أيضًا تخزين البيانات غير المتجانسة ، وتظل الفهرسة كما هي.
يتمثل الاختلاف الرئيسي بين الاثنين في أن العناصر المخزنة في المجموعة غير قابلة للتغيير ولا يمكن تغييرها بعد التعريف. هذا يعني أنه لا يمكنك إضافة عناصر جديدة أو تغيير العناصر الموجودة أو حذف عناصر من المجموعة. يمكن قراءة العناصر منه فقط عن طريق الفهرسة أو التفريغ بدون استبدال.
هذا يجعل tuple سريعًا مقارنة بالقائمة من حيث الإنشاء. يتم تخزين المجموعة في كتلة واحدة من الذاكرة ولكن القائمة تتطلب كتلتين ، واحدة ذات حجم ثابت والأخرى متغيرة الحجم لتخزين البيانات. ينبغي للمرء أن يفضل tuple على القائمة عندما يكون المستخدم متأكدًا من أن العناصر المراد تخزينها لا تتطلب أي تعديل إضافي. بعض الأشياء التي يجب مراعاتها أثناء استخدام tuple:
- لتهيئة مجموعة فارغة:
sample_tuple = tuple ()
- للإعلان عن مجموعة ، قم بإحاطة العناصر بأقواس دائرية:
sample_tuple = ('upGrad'، 'Python'، 'ML'، 23432)
- للوصول إلى عناصر المجموعة:
sample_tuple [<index_num>]
3 مجموعات
في الرياضيات ، المجموعة عبارة عن مجموعة محددة جيدًا من العناصر الفريدة التي قد تكون أو لا تكون مرتبطة ببعضها البعض. في tuple and list ، يمكن للمرء تخزين العديد من العناصر المكررة بدون فشل ، لكن بنية البيانات المحددة تأخذ فقط عناصر فريدة.

يتم تخزين عناصر المجموعة بطريقة غير منظمة مما يعني أنه يتم تخزين العناصر بشكل عشوائي في المجموعة ولا يوجد موضع محدد أو فهرس مدعوم ، ولا يُسمح بالتقطيع في المجموعة. المجموعة نفسها قابلة للتغيير ولكن يجب أن تكون العناصر غير قابلة للتغيير لأن طريقة عمل المجموعات تقوم بتجزئة هذه العناصر وفي هذه العملية ، يمكن فقط تجزئة العناصر غير القابلة للتغيير.
يمكن إضافة العناصر أو إزالتها من المجموعة ولكن لا يمكن تغييرها حيث لا يوجد مفهوم للفهرسة وبالتالي يمكن تغيير العناصر. كما هو الحال في الرياضيات ، هنا أيضًا يمكن إجراء جميع العمليات المحددة مثل الاتحاد والتقاطع والاختلاف والفصل. لنلق نظرة على كيفية تنفيذه:
- لتهيئة مجموعة فارغة:
عينة = مجموعة ()
- أضف عناصر للمجموعة:
sample_set.add (item) يضيف هذا عنصرًا واحدًا إلى المجموعة
sample_set.update (العناصر) يمكن أن يضيف هذا عناصر متعددة عبر قائمة أو مجموعة أو مجموعة أخرى
- قم بإزالة العناصر من المجموعة:
sample_set.discard (item) يزيل العنصر بدون تحذير إذا لم يكن العنصر موجودًا
sample_set.remove (item) يعرض خطأ إذا كان العنصر المراد إزالته غير موجود.
- تعيين العمليات (افترض أن مجموعتين تمت تهيئتهما: A و B):
أ | B أو A.union (B): عملية الاتحاد
تقاطع أ ، ب أو أ (ب): عملية التقاطع
الفرق أ - ب أو أ (ب): فرق مجموعتين
أ ^ ب أو أ فرق متماثل (ب): فرق متماثل بين المجموعات
راجع: إطارات البيانات في بايثون
4. القاموس
هذا هو هيكل البيانات الأكثر فائدة في Python ، والذي يسمح بتخزين عناصر البيانات بطريقة زوج المفتاح والقيمة. يجب أن يكون المفتاح قيمة ثابتة ، ويمكن أن تكون القيمة عنصرًا قابل للتغيير. هذا المفهوم يشبه ما يبدو عليه القاموس الفعلي ، حيث لدينا الكلمات كمفاتيح ومعانيها كقيم. يقوم القاموس بتخزين هذه الأزواج بطريقة غير مرتبة ، وبالتالي لا يوجد مفهوم للفهرس في هيكل البيانات هذا. بعض الأشياء المهمة المتعلقة بهذا:
- لتهيئة قاموس فارغ:
sample_dict =ict ()
- لإضافة عناصر إلى القاموس:
sample_dict [مفتاح] = القيمة
هناك طريقة أخرى للقيام بذلك وهي sample_dict = {key: value}
إذا قمت بطباعة هذا القاموس ، فسيكون الناتج: {'key1': value، 'key2': value…}
- للحصول على مفاتيح وقيم القاموس:
sample_dict.keys (): إرجاع قائمة المفاتيح
sample_dict.values (): إرجاع قائمة القيم
sample_dict.items (): إرجاع كائن عرض أزواج المفتاح والقيمة على هيئة tuple في القائمة
تعلم دورات علوم البيانات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
خاتمة
من المهم فهم المعرفة الأساسية لهياكل البيانات في بايثون. نظرًا لكونك في صناعة البيانات ، يمكن أن تساعد هياكل البيانات المختلفة في الحصول على حل أفضل للخوارزميات الأساسية. يجعل المطور أكثر وعياً بأفضل ممارسات الترميز للحصول على النتائج بكفاءة. يعتمد استخدام كل بنية بيانات إلى حد كبير على الموقف ويتطلب ممارسة صارمة.
ما هي أهمية هياكل البيانات؟
تعد هياكل البيانات إحدى الركائز الأساسية لأي لغة برمجة. يحددون كيفية تخزين البيانات ومعالجتها في الذاكرة. تظل مفاهيم هياكل البيانات كما هي بغض النظر عن لغة البرمجة التي نتحدث عنها.
تتضمن هياكل البيانات الأكثر شيوعًا المصفوفات والقوائم والمكدسات وقوائم الانتظار والأشجار وخرائط التجزئة والرسوم البيانية. بعضها مدمج بينما يحتاج البعض الآخر إلى التنفيذ من قبل المستخدم بمساعدة هياكل البيانات المحددة مسبقًا.
كيف يمكنني تطوير فهم قوي لهياكل البيانات؟
يجب أن تكون المفاهيم الأساسية لعمليات التنفيذ وعمل أي بنية بيانات هي الخطوة الأولى التي يجب عليك اتخاذها. بعد التعرف على المفاهيم النظرية والعمل ، يمكنك البدء بجزء الترميز.
يجب عليك دائمًا دراسة تعقيدات الوقت وتعقيدات المساحة لأي خوارزمية أو بنية بيانات تعمل عليها. سيعطيك هذا نظرة ثاقبة للمفهوم ، وستكون قادرًا على حل أي سؤال يتطلب هيكل البيانات المحدد.
متى تكون قائمة Python مفضلة لتخزين البيانات؟
يمكن استخدام القائمة لتخزين قيم مختلفة بأنواع بيانات مختلفة ويمكن الوصول إليها فقط من خلال المؤشرات الخاصة بكل منها. عندما تحتاج إلى إجراء عمليات حسابية على العناصر ، يمكن استخدام قائمة لأنها تتيح لك تشغيل العناصر رياضيًا بشكل مباشر.
نظرًا لأنه يمكن تغيير حجم القائمة ، يمكن استخدامها لتخزين البيانات عندما لا تكون متأكدًا من عدد العناصر المراد تخزينها.
