4 هياكل بيانات مدمجة في بايثون: قواميس ، قوائم ، مجموعات ، مجموعات
نشرت: 2020-03-24في هذه المقالة ، سنركز على هياكل البيانات في Python ونساعدك في فهم الموضوع بوضوح. ستجد ما هي وكيف تعمل. لقد شاركنا أيضًا العديد من الأمثلة للتأكد من أنه ليس لديك أي شكوك بخصوص أي مواضيع شاركناها هنا.
لذلك ، دون مزيد من اللغط ، فلنبدأ.
جدول المحتويات
ما هي هياكل البيانات؟
تتيح لك هياكل البيانات تنظيم وإدارة بياناتك بفعالية وكفاءة. أنها تعزز إمكانية الوصول إلى البيانات الخاصة بك. يصبح تعديل البيانات المخزنة أكثر وضوحًا إذا كان لديك هياكل بيانات مناسبة في مكانها. إنها تتيح لك تنظيم البيانات وتخزينها حتى تتمكن من إجراء العمليات عليها لاحقًا دون مواجهة أي نوع من الصعوبات.
يوجد في Python نوعان من هياكل البيانات. هياكل البيانات التي تدعمها Python ضمنيًا هي Set و Dictionary و List و Tuple. هذه هي هياكل البيانات المضمنة في Python.
ثم هناك هياكل بيانات يمكنك إنشاؤها بنفسك للتحكم بشكل أفضل في الوظائف. هذه هياكل بيانات معرّفة من قبل المستخدم ، وهي تشمل القوائم المرتبطة والرسوم البيانية والأشجار والأكوام وقوائم الانتظار وخرائط التجزئة. تتوفر هياكل البيانات المعرفة من قبل المستخدم بلغات البرمجة الأخرى أيضًا.
اقرأ المزيد: 6 هياكل بيانات شائعة الاستخدام في R
هياكل البيانات المضمنة في Python
تمتلك Python العديد من هياكل البيانات المضمنة. تساعدك هياكل البيانات المتكاملة هذه في حل مشكلات البرمجة بسرعة وبسهولة كبيرة. كما ذكرنا سابقًا ، تمتلك Python هياكل البيانات المتكاملة التالية:
- قواميس
- القوائم
- مجموعات
- مجموعات
دعونا نناقش كل واحد منهم بالتفصيل:
1. قواميس
نستخدم قواميس لتخزين أزواج القيمة الرئيسية. تمامًا مثل القاموس المادي الذي يحتوي على كلمة مخزنة جنبًا إلى جنب مع معناها ، يقوم القاموس في Python بتخزين أزواج المفتاح والقيمة. المصطلحات هي المفاتيح ، في حين أن المعاني المختلفة المرتبطة بهذه الكلمات هي القيم. مع القيمة ، يمكنك الوصول إلى المفاتيح.
يمكنك إنشاء قاموس بأقواس زهرة. يمكنك أيضًا استخدام وظيفة ديكت () لهذا الغرض. هنا مثال:
my_dict = {} # قاموس فارغ
طباعة (my_dict)
my_dict = {1: 'A'، 2: 'B'} # قاموس مع العناصر
طباعة (my_dict)
إخراج الكود أعلاه:
{}
{1: "أ" ، 2: "ب"}
يمكنك تغيير قيم القاموس من خلال المفاتيح. يجب عليك أولاً الوصول إلى المفاتيح لتغيير القيم. بمجرد تحديد مكان المفاتيح ، عليك فقط إضافة زوج القيمة الرئيسية المطلوب للحصول على النتيجة المرجوة.
my_dict = {'First': 'A'، 'Second': 'B'}
طباعة (my_dict)
my_dict ['Second'] = 'C ++' # تغيير العنصر
طباعة (my_dict)
my_dict ['Third'] = 'Ruby' # إضافة زوج من المفاتيح والقيمة
طباعة (my_dict)
إخراج الكود أعلاه:
{'الأول': 'A'، 'Second': 'B'}
{'First': 'A'، 'Second': 'C'}
{'First': 'A'، 'Second': 'C'، 'Third': 'D'}
يمكنك حذف القيم في قاموسك باستخدام وظيفة pop (). ترجع الدالة pop () القيمة التي قمت بحذفها. يمكنك استرداد زوج من المفاتيح والقيمة من خلال وظيفة popitem (). تقوم بإرجاع مجموعة الزوج. يمكنك مسح القاموس بالكامل أيضًا باستخدام وظيفة clear (). هذا هو المثال:
my_dict = {'First': 'A'، 'Second': 'B' '،' Third ':' C '}
a = my_dict.pop ('الثالث') # عنصر بوب
طباعة ("القيمة:" ، أ)
طباعة ('Dictionary:'، my_dict)
b = my_dict.popitem () #pop زوج المفتاح والقيمة
print ("Key، value pair:"، b)
طباعة ("قاموس" ، my_dict)
my_dict.clear () # قاموس فارغ
طباعة ('n'، my_dict)
إخراج الكود أعلاه:
القيمة: ج
القاموس: {'First': 'A'، 'Second': 'B'}
المفتاح ، زوج القيمة: ('Second'، 'B')
القاموس {'First': 'A'}
{}
اقرأ أيضًا: أفكار وموضوعات مشروع Python
2. القوائم
نستخدم القوائم لتخزين البيانات بالتتابع. كل عنصر من عناصر القائمة له عنوان ، والذي يسمى أيضًا بالفهرس. تنتقل قيمة فهرس القائمة من 0 إلى آخر عنصر موجود في قائمتك ، واسمها عبارة عن فهرسة موجبة. وبالمثل ، عندما تعود من العنصر الأخير إلى الأول وتحسب من -1 ، فإن هذا يسمى الفهرسة السلبية.
يمكنك إنشاء قائمة باستخدام الأقواس المربعة وإضافة عناصر إليها حسبما تريد. إذا تركت الأقواس فارغة ، فلن تحتوي القائمة على أي عناصر ، وستكون فارغة أيضًا. فيما يلي مثال على قائمة:
my_list = [] # إنشاء قائمة فارغة
طباعة (my_list)
my_list = [A، B، C، "example"، Z] # إنشاء قائمة بالبيانات
طباعة (my_list)
إخراج الكود أعلاه:
[]
[أ ، ب ، ج ، "مثال" ، Z]
يمكنك إضافة عناصر إلى قائمتك باستخدام وظائف insert () و مدى () وإلحاق (). تضيف الوظيفة insert () العناصر التي تم تمريرها إلى قيمة الفهرس. تعمل وظيفة insert () على زيادة حجم القائمة أيضًا.
باستخدام الوظيفة append () ، يمكنك إضافة جميع العناصر التي تم تمريرها إليها كعنصر واحد. من ناحية أخرى ، يمكن أن تضيف الدالة extension () العناصر واحدًا تلو الآخر.
هنا مثال:
my_list = [أ ، ب ، ج]
طباعة (my_list)
my_list.append ([555، 12]) #add كعنصر واحد
طباعة (my_list)
my_list.extend ([234، 'more_example']) # إضافة كعناصر مختلفة
طباعة (my_list)
my_list.insert (1، 'insert_example') #add element i
طباعة (my_list)
إخراج الكود أعلاه:
[أ ، ب ، ج]
[أ ، ب ، ج ، [555 ، 12]]
[A، B، C، [555، 12]، 234، 'more_example']
[A، 'insert_example'، B، C، [555، 12]، 234، 'more_example']
أثناء العمل مع القوائم ، قد تواجه الحاجة إلى إزالة بعض العناصر أيضًا. يمكنك استخدام الكلمة الأساسية "del". إنها كلمة رئيسية مضمنة في Python ولا تعيد أي شيء. إذا كنت ترغب في استعادة عنصر ما ، فسيتعين عليك استخدام وظيفة pop () ولإزالة عنصر من خلال قيمته ، فسيتعين عليك استخدام وظيفة remove (). هذا هو المثال:

my_list = [A، B، C، "example"، Z، 10، 30]
del my_list [5] # حذف العنصر في الفهرس 5
طباعة (my_list)
my_list.remove ('example') # إزالة عنصر بقيمة
طباعة (my_list)
a = my_list.pop (1) # عنصر pop من القائمة
print ("Popped Element:" ، "القائمة المتبقية:" ، my_list)
my_list.clear () # إفراغ القائمة
طباعة (my_list)
إخراج الكود أعلاه:
[أ ، ب ، ج ، "مثال" ، Z ، 30]
[أ ، ب ، ج ، ز ، 30]
العنصر المنبثق: 2 القائمة المتبقية: [A ، C ، Z ، 30]
[]
يمكنك تمرير قيم الفهرس في بايثون والحصول على القيم المطلوبة.
my_list = [A، B، C، "example"، Z، 10، 30]
للعنصر في my_list: # عناصر الوصول واحدًا تلو الآخر
طباعة (عنصر)
print (my_list) # الوصول إلى جميع العناصر
print (my_list [3]) #access index 3 element
print (my_list [0: 2]) # عناصر الوصول من 0 إلى 1 واستبعاد 2
print (my_list [:: - 1]) # عناصر الوصول معكوسة
إخراج الكود أعلاه:
أ
ب
ج
مثال
ض
10
30
[أ ، ب ، ج ، "مثال" ، Z ، 10 ، 30]
مثال
[أ ، ب]
[30 ، 10 ، Z ، "مثال" ، 3 ، 2 ، 1]
3 مجموعات
تسمى مجموعة العناصر الفريدة وغير المرتبة مجموعة. لذلك ، إذا كررت البيانات لسبب ما ، فستظهر في المجموعة مرة واحدة فقط. المجموعات في بايثون مشابهة للمجموعات التي تقرأ عنها في الرياضيات. من خصائصها إلى وظائفها ، ستجد الكثير من أوجه التشابه فيما بينها.
يمكنك إنشاء مجموعة باستخدام الأقواس الزهرية وتمرير قيمها. هذا مثال:
my_set = {A، B، C، D، E، E، E} # مجموعة إنشاء
طباعة (my_set)
إخراج الكود أعلاه:
{أ ، ب ، ج ، د ، هـ}
كما ذكرنا سابقًا ، يمكنك أداء جميع وظائف المجموعات التي تؤديها في الحساب في مجموعات Python. باستخدام وظيفة union () ، يمكنك دمج البيانات الموجودة في مجموعتين. تمنحك وظيفة التقاطع () البيانات الموجودة في كلتا المجموعتين المذكورتين.
لديك وظيفة الفرق () التي تتيح لك حذف البيانات المتاحة في كلتا المجموعتين وتمنحك البيانات غير الشائعة بينهما. تمنحك الدالة symmetric_difference () البيانات المتبقية في تلك المجموعات.
my_set = {A، B، C، D}
my_set_2 = {C، D، E، F}
print (my_set.union (my_set_2)، '———-'، my_set | my_set_2)
print (my_set.intersection (my_set_2)، '———-'، my_set & my_set_2)
print (my_set.difference (my_set_2)، '———-'، my_set - my_set_2)
print (my_set.symmetric_difference (my_set_2)، '———-'، my_set ^ my_set_2)
my_set.clear ()
طباعة (my_set)
إخراج الكود أعلاه:
{أ ، ب ، ج ، د ، ه ، ف} ———- {أ ، ب ، ج ، د ، هـ ، ف}
{C، D} ———- {C، D}
{أ ، ب} ———- {أ ، ب}
{أ ، ب ، ه ، ف} ———- {أ ، ب ، ه ، ف}
تعيين()
اقرأ أيضًا: راتب مطور Python في الهند
4. مجموعات
تتشابه المجموعات مع القوائم ، ولكن بمجرد إدخال البيانات في مجموعة ، لا يمكنك تغييرها إلا إذا كانت قابلة للتغيير. يمكن أن يكون فهمها صعبًا بعض الشيء ، لكن لا تقلق ، فقد يساعدك مثالنا في الكود في هذا الصدد. يمكنك إنشاء مجموعة بمساعدة وظيفة tuple ().
my_tuple = (A، B، C) #create tuple
طباعة (my_tuple)
إخراج الكود أعلاه:
(أ ، ب ، ج)
طريقة الوصول إلى القيم في المجموعات هي نفسها الموجودة في القوائم.
my_tuple2 = (A، B، C، 'Upgrad') # عناصر الوصول
بالنسبة إلى x في my_tuple2:
طباعة (x)
طباعة (my_tuple2)
طباعة (my_tuple2 [0])
طباعة (my_tuple2 [:])
إخراج الكود أعلاه:
أ
ب
ج
ترقية
(أ ، ب ، ج ، "ترقية")
أ
(أ ، ب ، ج ، "ترقية")
خاتمة
الآن يجب أن تكون قد أصبحت على دراية بهياكل البيانات المختلفة في Python . نأمل أن تكون قد وجدت هذه المقالة مفيدة. تلعب هياكل البيانات دورًا مهمًا في مساعدتك في تنظيم وإدارة والوصول إلى بياناتك. هناك الكثير من الخيارات للاختيار من بينها ، ولكل منها استخداماته الخاصة.
إذا كنت ترغب في معرفة المزيد عن Python وهياكل البيانات ، فيجب عليك إلقاء نظرة على دوراتنا التدريبية.
إذا كنت مهتمًا بالتعرف على Python ، وكل شيء عن علم البيانات ، فراجع IIIT-B & upGrad's دبلوم PG في علوم البيانات الذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع الصناعة خبراء ، وجهاً لوجه مع مرشدين في الصناعة ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.
متى يتم استخدام نوع بيانات القاموس؟
يمكن تعريف القاموس على أنه نوع بيانات قيم يتم استخدامه في Python كمجموعة من البيانات المخزنة في أزواج من المفاتيح والقيم. الآن ، يمكن أن تكون قيم القاموس من أي نوع بيانات ، ولكن يجب أن تكون المفاتيح من نوع بيانات غير قابل للتغيير مثل tuple أو عدد صحيح أو سلسلة.
تم العثور على القواميس لتكون سهلة الاستخدام عندما ترغب في العثور على قيمة على الفور دون المرور بمجموعة كاملة من البيانات. بخلاف ذلك ، يكون القاموس مفيدًا جدًا أيضًا عندما لا يكون ترتيب البيانات مهمًا. يُفضل نوع بيانات القاموس عندما لا يكون اعتبار الذاكرة عاملاً مهمًا لأنها تميل إلى شغل مساحة أكبر مقارنة بالقوائم والمجموعات.
ما هو الفرق بين القوائم و المجموعات؟
القائمة والجداول كلاهما من أنواع بيانات التسلسل المفيدة لتخزين مجموعة البيانات في Python. يتمثل الاختلاف الأكثر أهمية بينهما في أن القوائم قابلة للتغيير ، في حين أن الصفوف غير قابلة للتغيير. علاوة على ذلك ، فإن دلالات التكرارات تكون أسرع بكثير في المجموعات مقارنةً بتلك الموجودة في القوائم.
إذا كنت ترغب في إجراء عمليات الإدراج والحذف ، فإن القوائم تسهل عليك ذلك. في الوقت نفسه ، يمكن الوصول إلى العناصر بشكل أفضل في المجموعات. عامل مهم آخر يحدد استخدام أي بنية بيانات هو الذاكرة. هنا ، تميل القوائم إلى استهلاك المزيد من الذاكرة مقارنةً بالبطاقات.
كيف تختلف المجموعات عن القوائم؟
تعتبر القوائم أقوى أداة في Python لأنها لا يجب أن تكون متجانسة دائمًا. يمكن أن تحتوي كل من القوائم والمجموعات على جميع أنواع أنواع البيانات. الآن ، يمكن أن تحتوي القوائم على عناصر مكررة ، لكن لا يمكن أبدًا أن تحتوي المجموعات على عناصر مكررة ، وستختفي ببساطة من المجموعة.
يتم الاحتفاظ بترتيب العناصر في القوائم ، ولكن لا يمكن للمجموعات أبدًا الحفاظ على ترتيب العناصر. نظرًا لأن القوائم تشغل مساحة كبيرة من الحوسبة ، ينتهي بها الأمر بأخذ قدر كبير من الوقت. من ناحية أخرى ، تستفيد المجموعات من التجزئة لإجراء عمليات البحث وينتهي بها الأمر بشكل أسرع من القوائم.