![]() |
أُنشئت القوائم Lists في بايثون لخزن أنواع متعددة من البيانات،وتمتلك بايثون 6 أنواع قادرة على حفظ البيانات وأشهرها القوائم Lists. |
تعلم بايثون - القوائم Lists
القوائم Lists
أُنشئت القوائم Lists في بايثون لخزن أنواع متعددة من البيانات،وتمتلك بايثون 6 أنواع قادرة على حفظ البيانات وأشهرها القوائم Lists.
أذا أردنا أن نعًرف ماهي القائمة List فيمكننا ألقول هي مجموعة من ألعناصر أو القيم لمختلف البيانات يفصل بينها فاصلة(,) وتكون محصورة بين قوسين مربعين [].
ولنعطي مثال بسيط عليها سيكون بالشكل الآتي:
List1 = [1, 2, 3, 4]
List2 = ["Ahmed", "Ali", "Noor"]
List3 = [10, "Mohammed", 150]
وأذا أردنا التأكد أن نوع هذه المتغيرات (List1,List2,List3) هي قوائم فيمكننا عن طريق الأيعاز:
print(type(List1))
عند تنفيذ هذا الأيعاز سيخبرنا أن الناتج هو<class 'list'>،هذا يعني أن بالفعل أنها قائمة list.
فهرسة وتقسيم القوائم Lists indexing and splitting
تتم عملية فهرسة وتقسيم القوائم List indexing and splitting في لغة بايثون بنفس الطريقة ألتي ذكرناها في القسم السابق حين تحدثنا عن موضوع الرموز Strings،حيث يتم الوصول ألى عنصر معين من خلال تسلسله في القائمة وبأستخدام القوسين المربعين[].
ويكون تسلسل العنصر الأول هو 0 وتسلسل العنصر الثاني هو 1 وهكذا لبقية العناصر في القائمة.
لنأخذ مثال بسيط يوضح عملية الفهرسة والتقسيم في القوائم وليكن بالشكل الآتي:
كما نرى في الصورة أعلاه لدينا قائمة List تتكون من 7 عناصر،يمكننا على سبيل المثال أستدعاء الرقم 0 من القائمة من خلال [List[0 وأستدعاء ألرقم 1 من خلال [List[1 وكذلك لبقية العناصر في القائمة.كما ويمكننا أستدعاء جزء من القائمة مثلاً [List=[1:4 ألذي سوف يستدعي [3,4,5] أي أنها جزء من القائمة ألتي أنشأناها بلغة بايثون.
في هذا الموضوع،تتميز لغة بايثون بميزة فريدة تميزها عن باقي لغات البرمجة الأ وهي الفهرسة العكسية،حيث بلأمكان فهرسة العناصر داخل القائمةList من اليمين الأى اليسار وحسب موضح في الصورة الآتية:
حيث يبدأ الترقيم -1 من جهة اليمين ثم يليه -2 وهكذا ألى أخر عنصر في القائمة List.
عوامل القوائم Lists Operators
العامل Operator | الوصف Description |
ألتكرار Repetition | يُستخدم لتكرار العناصر داخل القائمة عدة مرات. |
ألترابط Concatenation | يُستخدم لربط عناصر قائمة مع عناصر قائمة أخرى. |
ألعضوية Membership | يُستخدم لتفحص عنصر ما أذا كان موجود في القائمة أم لا. |
ألتعداد Iteration | يُستخدم لتعداد العناصر داخل القائمة. |
الطول Length | يُستخدم لقياس طول القائمة. |
List1 = [1, 2, 3, 4]
List2 = [5, 6, 7, 8]
print(List1*2)#[1, 2, 3, 4, 1, 2, 3, 4] طباعة(عمل تكرار)
print(List1+List2)#طباعة [1, 2, 3, 4, 5, 6, 7, 8](عمل ترابط)
print(3 in List1)#(عمل عضوية) طباعة true
for i in List1:#عمل تعداد وطباعة العداد i سيكون الناتج 1 2 3 4
print(i)
List1 = [1, 2, 3, 4]
List2 = [5, 6, 7, 8]
print(List1*2)#[1, 2, 3, 4, 1, 2, 3, 4] طباعة(عمل تكرار)
print(List1+List2)#طباعة [1, 2, 3, 4, 5, 6, 7, 8](عمل ترابط)
print(3 in List1)#(عمل عضوية) طباعة true
for i in List1:#عمل تعداد وطباعة العداد i سيكون الناتج 1 2 3 4
print(i)
print(len(List1))#قياس طول القائمة سيكون الناتج 4
أضافة العناصر ألى القائمة Adding elements to the list
تحتوي لغة بايثون على دالة تسمى ()append ألتي تقوم باضافة ألعنصر الى القائمة List،حيث يتم أضافة هذا العنصر الى نهاية القائمة.
لنأخذ بعض الأمثلة ألتي توضح كيفية أضافة عناصر ألى القائمة List:
List = [1, 2, 3, 4]
e = List.append(5)
print(List)
تم أنشاء قائمة في المتغير List وتم أضافة عنصر 5 أليها ومن ثم طباعة الناتج.
List = []
for i in range(20):
if i >=10:
List.append(i)
print(List)
تم أنشاء قائمة فارغة في متغير List في بداية الكود،ثم أنشاء عداد بسيط لتعداد 20 رقم وبداخل هذا العداد تم وضع شرط وهو أذا كان العداد أكبر أويساوي 10 سيقوم بأضافته ألى القائمة الفارغة،ومن ثم طباعة هذه القائمة.
ألصفوف Tuples
تُستخدم ألصفوف tuples في لغة بايثون لخزن أنواع متعددة من البيانات،وتشابه القوائم Lists في عملها،لكن الأختلاف ألوحيد بينهما أن العناصر المحفوظة في القوائم lists يمكن تغييرها لاحقاً،بينما ألصفوف tuples لايمكن تغيير عناصرها أبداً.
ويمكن تعريف ألصفوف على أنها مجموعة من العناصر لمختلف البيانات يفصل بينها فاصلة(,) وتكون محصورة بين قوسين هلالين().
Tuple1 = (1, "Ali", 50)
Tuple2 = ("Rasool", "Ahmed", "Safa")
وأذا أردنا التأكد أن نوع هذه المتغيرات (Tuple1,Tuple2) هي صفوف فيمكننا عن طريق الأيعاز:
عند تنفيذ هذا الأيعاز سيخبرنا أن الناتج هو<class 'tuple'>،هذا يعني أن بالفعل أنه صف tuple
فهرسة وتقسيم ألصفوف Tuples indexing and splitting
تكون عملية فهرسة وتقسيم ألصفوف في لغة بايثون مشابهة لطريقتها في ألقوائم كما تم ذكرها من قبل، حيث يتم الوصول ألى عنصر معين من خلال تسلسله في الصف وبأستخدام ألقوسين المربعين [].
ويكون تسلسل العنصر الأول في ألصف tuple هو 0 وتسلسل العنصر الثاني هو 1 وهكذا لبقية العناصر في ألصف.
لنأخذ مثال بسيط يوضح عملية الفهرسة والتقسيم في ألصفوف وليكن بالشكل الآتي:
كما نرى في الصورة أعلاه لدينا صف Tuple يتكون من 7 عناصر،يمكننا على سبيل المثال أستدعاء ألرقم 0 من ألصف بأستخدام الأيعاز [Tuple[0 وأستدعاء ألرقم 1 من ألصف بأستخدام الأيعاز [Tuple[1 وهكذا لبقية ألعناصر في ألصف،ويمكننا أستدعاء جزء من ألصف مثلاً [Tuple[2:6 ألذي سوف يقوم بأستدعاء ألعناصر (5, 4, 3, 2) أي أنها جزء من ألصف ألذي أنشأناه بلغة بايثون.
عوامل ألصفوف Tuples Operators
طريقة عمل عوامل ألصفوف تشابه طريقة عمل عوامل ألقوائم،لذلك أذا أردت الأطلاع عليها فيرجى مراجعة موضوع القوائم ومعرفة أنواع العوامل مع تطبيق المثال العملي بلغة بايثون.
ألفرق بين ألقوائم وألصفوف Lists vs. Tuples
ألقوائم Lists | ألصفوف Tuples |
تكون ألقائمة محصورة بين قوسين مربعين []. | يكون ألصف محصور بين قوسين هلالين(). |
تكون ألعناصر داخل القائمة قابلة للتغيير. | تكون العناصر ادخل ألصف غير قابل للتغيير. |
تكون القائمة ذات طول متغير. | يكون الصف ذات طول ثابت. |
تكون القائمة ذات أداء عالي في الأستخدام بسبب شيوعها. | يكون الصف ذات أداء منخفض بسبب قلة شيوعه في الأستخدام. |
إلى هنا ينتهي القسم السابع من سلسلة كورس (تعلم بايثون) أتمنى أن ينال حسن رضاكم ونلتقيكم في القسم الثامن أن شاء الله.
م.م رسول حسن
تعليقات
إرسال تعليق