118- كورس لغة بايثون Python شرح هياكل البيانات في بايثون – Python Data Structures

مقدمة عن هياكل البيانات في بايثون

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

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

أمثلة على هياكل البيانات في بايثون

لنبدأ بمثال بسيط على القوائم. يمكن إنشاء قائمة في بايثون باستخدام الأقواس المربعة. على سبيل المثال:

fruits = ["تفاح", "موز", "كرز"]
print(fruits)

في هذا المثال، تحتوي القائمة على ثلاثة عناصر يمكن الوصول إليها وتعديلها بسهولة. يمكننا إضافة عنصر جديد إلى القائمة باستخدام الدالة `append`:

fruits.append("برتقال")
print(fruits)

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

numbers = {1, 2, 3, 4}
print(numbers)

أما القواميس، فهي هياكل بيانات أكثر تعقيدًا تتيح تخزين البيانات في أزواج من المفاتيح والقيم. يمكن إنشاء قاموس في بايثون باستخدام الأقواس المعقوفة مع تحديد المفاتيح والقيم:

person = {"name": "أحمد", "age": 30, "city": "القاهرة"}
print(person)

يمكن استخدام القواميس لتخزين البيانات المعقدة والوصول إليها بسهولة باستخدام المفاتيح الخاصة بكل قيمة. يوفر هذا النوع من هياكل البيانات مرونة كبيرة في التعامل مع البيانات المنظمة وغير المنظمة.

باختصار، توفر بايثون مجموعة واسعة من هياكل البيانات التي يمكن استخدامها لتلبية احتياجات مختلفة في البرمجة. يمكن للمبرمجين اختيار الهيكل الأنسب بناءً على نوع البيانات والعمليات المطلوبة، مما يساعد في بناء تطبيقات أكثر كفاءة وفعالية.