القوائم المتداخلة - المهارات الرقمية - ثالث متوسط
الفصل الدراسي الأول
الوحدة الأولى: الأمن السيبراني
الوحدة الثانية: قواعد البيانات
الوحدة الثالثة: البرمجة المتقدمة في بايثون
الفصل الدراسي الثاني
الوحدة الأولى: التجارة الإلكترونية
الوحدة الثانية: مهارات متقدمة في برامج الأوفيس
الوحدة الثالثة: هياكل البيانات الخطية
الفصل الدراسي الثالث
الوحدة الأولى: المتاجر الإلكترونية
الوحدة الثانية: صيانة الحاسب والتخزين السحابي
الوحدة الثالثة: مستشعرات الروبوت
رابط الدرس الرقمي www.ien.edu.sa IM الدرس الثاني القوائم المتداخلة القائمة هي إحدى هياكل البيانات التي تستخدم في بايثون لحفظ البيانات. لا تحتاج عناصر القائمة إلى أن تكون من نفس النوع بل يمكن تغييرها أثناء تنفيذ المقطع البرمجي ، كما يمكن أيضًا تغيير حجم القائمة أثناء تنفيذ المقطع البرمجي بحيث تتم إضافة عناصر أو إزالتها منها. القوائم المتداخلة يمكن للقائمة أن تحتوي على أنواع مختلفة من العناصر ، كما يمكن أن تحتوي على قائمةٍ أخرى كأحد عناصرها، وهذا ما يسمى بالقوائم المتداخلة Nested lists). لقد تعلمت سابقًا كيفية إنشاء تكرار داخل ،آخر، وبنفس الطريقة يمكنك إنشاء قائمة داخل أخرى. يمكنك هنا مشاهدة مثالٍ للتعرف على كيفية عمل القوائم المتداخلة: العنصر الثاني في هذا المثال من القائمة عبارة عن قائمة. list=[3, ["a", "b", "c"], 7.5, -2, "orange"] print(list) print(list[0]) print(list[1]) print(list[2]) print(list[3]) print(list[4]) [3, ['a', 'b', 'c'], 7.5, -2, 'orange'] 3 ['a', 'b', 'c'] 7.5 -2 orange يُنشئ بايثون مصفوفة ثنائية الأبعاد (2D) array) باستخدام القوائم المتداخلة. وزارة التعد26 Ministry of Education 2024-1446 يبدأ الترقيم في القائمة من صفر وليس من 1.
القوائم المتداخلة (Nested lists)
الفهرس عنصر القائمة القيمة 3 list[0] 0 [a,b,c] list[1] 1 7.5 list[2] 2 -2 list[3] 3 orange list[4] 4 يتم التعامل مع القائمة الداخلية مثل بقية العناصر الأخرى الموجودة في القائمة، ويبقى طول القائمة ثابتًا لا يتغير. = list [3,["a","b","c"], 7.5, -2, "orange"] l=len(list) print("the length of the list is: ",1) وزارة التعليم Ministry of Education 2024-1446 the length of the list is: 5 جرب بنفسك جَرّب المقطع البرمجي الآتي. ماذا تلاحظ ؟ thisList= ["a", "b", ["c", "d"], "e", "f"] print(thisList[3]) print(thisList[-3]) 268
يتم التعامل مع القائمة الداخلية مثل بقية العناصر الأخرى الموجودة في القائمة، ويبقى طول القائمة ثابتا لا يتغير.
جراب المقطع البرمجي الآتي. ماذا تلاحظ ؟
فهرسة القوائم المتداخلة لعرض عنصر موجود في قائمة متداخلة تحتاج إلى رقمين الأول رقم فهرس العنصر في القائمة الخارجية، والثاني رقم فهرس القائمة الداخلية. القائمة الخارجية 0 1 2 list=[ [1,2], [3,4], [5,6,7] ] 0 1 0 1 0 1 2 القائمة الداخلية list=[[1,2],['c','d'],[15,62,79]] اطبع العنصر الأول# print(list[0]) print(list[0][0]) print(list[0][1]) اطبع العنصر الثاني# print(list[1]) print(list[1][0]) print(list[1][1]) اطبع العنصر الثالث print(list[2]) print(list[2][0]) print(list[2][1]) print(list[2][2]) وزارة التعو26 Ministry of Education 2024-1446 يتم في هذا المثال طباعة القوائم المتداخلة وعناصرها. [1, 2] 1 2 ['c', 'd'] C d [15, 62, 79] 15 62 79
فهرسة القوائم المتداخلة
يمكنك استخدام التكرارات المتداخلة للوصول إلى نفس النتيجة جرّب المقطع البرمجي الآتي list=[[1,2],['c','d'],[15,62,79]] for i in list: اطبع عناصر القائمة الخارجية# print(i) for j in i: اطبع عناصر القائمة الداخلية# وزارة التعليم Ministry of Education 2024-1446 print(j) يتعين هنا في هذا المثال أن يكون كل عنصر في القائمة أيضًا قائمة. جرب بنفسك [1, 2] 1 2 ['c', 'd'] C d [15, 62, 79] 15 62 79 جَرِّب المقطع البرمجي الآتي واكتب النتيجة التي تظهر على الشاشة. ThisList = [[1, 2, 3],[4, 5, 6],[7, 8, 9]] for list in ThisList: for number in list: print(number) 270
يمكنك استخدام التكرارات المتداخلة للوصول إلى نفس النتيجة. جرب المقطع البرمجي الآتي:
جرب المقطع البرمجي الآتي واكتب النتيجة التي تظهر على الشاشة.
وزارة التعليم 271 Ministry of Education 2024-1446 لنطبق معًا تدريب 1 ما الذي ستتم طباعته بواسطة المقاطع البرمجية الآتية: اختر الإجابة الصحيحة. 3 4 list=[3,4,["a","b"]] print(list [2] [1]) a .1 b 1 a list=[1,"a",[0,"b"]] print(list[1]) 0 b a .2 d list=[3,["c","d"],["a","b"]] print(list [1][1]) 3 .3 C 7 a 10 C b list=[[7,"a"],4,["c","b"]] print(list[0][1]) .4
ما الذي ستتم طباعته بواسطة المقاطع البرمجية الآتية: اختر الإجابة الصحيحة.
272 تدريب 2 حدد الجملة الصحيحة والجملة الخطأ: 1. يُنشئ بايثون مصفوفة ثنائية الأبعاد (2D) array) باستخدام القوائم المتداخلة. .2. يبدأ الترقيم في القائمة من الصفر. .3 تتم فهرسة كل عنصر في القائمة المتداخلة بفهرس واحد. 4. يمكن أن تكون عناصر القائمة المتداخلة من أنواع بيانات مختلفة، مثل الأعداد الصحيحة، السلاسل، وحتى القوائم الأخرى. .5 لطباعة جميع عناصر القائمة المتداخلة تحتاج إلى استخدام التكرارات المتداخلة. تدريب 3 صحيحة خطأ • اكتب مقطعًا برمجيًا بلغة بايثون يستخدم القوائم المتداخلة لتمثيل بعض بيانات أقاربك أو جيرانك، وذلك بتنفيذ الآتي: > إنشاء القائمة Families التي تتكون عناصرها من اسم الأب، عدد الذكور و عدد الإناث كالآتي: [[Hamad,2,3], [Jassem,2,4], [Ibrahem,4,0]] > عرض جميع عناصر القائمة عنصرًا بعد الآخر على الشاشة. > طباعة عدد الذكور وعدد الإناث لجميع العوائل وزارة التعليم Ministry of Education 2024-1446