القوائم
نحفظ قيمًا كثيرة في متغيّر واحد مرتّب. ⏱ نحو 20 دقيقة.
- تنشئ قائمة وتطبعها.
- تصل إلى العنصر برقم فهرسه، بدءًا من 0.
- تعدّل القائمة: تغيير وإضافة وحذف.
- تستخدم
lenوmaxوminوsumمع القائمة.
١لماذا القائمة؟
لو عندك درجات 30 طالبًا، فهل تنشئ 30 متغيّرًا؟ القائمة متغيّر واحد يحفظ قيمًا كثيرة بالترتيب، مثل كشف الحضور. نكتبها بين قوسين مربعين، ونفصل بين العناصر بفاصلة:
marks = [70, 85, 92, 60, 78]names = ["علي", "سارة", "خالد"]print(marks)print(names)
٢رقم الخانة (الفهرس)
لكل عنصر رقم يسمى الفهرس، ويبدأ من صفر لا من واحد. نصل إلى العنصر بكتابة رقمه بين قوسين مربعين:
marks = [70, 85, 92, 60, 78]print(marks[0])print(marks[2])print(marks[-1])
marks[0] أول عنصر، و marks[-1] آخر عنصر. والعناصر 5 فأرقامها من 0 إلى 4.
٣تعديل القائمة
| العملية | الكود | النتيجة |
|---|---|---|
| تغيير عنصر | marks[1] = 90 | العنصر الثاني يصبح 90 |
| إضافة في آخرها | marks.append(88) | يُضاف 88 في النهاية |
| حذف قيمة | marks.remove(60) | يُحذف أول 60 في القائمة |
| عدد العناصر | len(marks) | عدد العناصر الآن |
names = ["علي", "سارة"]names.append("خالد")names[0] = "عمر"print(names)print("عدد الطلاب:", len(names))
٤دوال جاهزة مع القائمة
الدوال التي تعلّمتها تعمل أيضًا مع القوائم:
marks = [70, 85, 92, 60, 78]print("الأعلى:", max(marks))print("الأقل:", min(marks))print("المجموع:", sum(marks))print("المتوسط:", sum(marks) / len(marks))
📎 للاستزادة (اختياري): هل العنصر موجود؟
الكلمة in تفحص وجود عنصر في القائمة، والنتيجة True أو False:
names = ["علي", "سارة", "خالد"]print("سارة" in names)print("منى" in names)
توقّع وتحقّق
a = [5, 8, 3]. ما a[1]؟
ما الفهرس الأخير في قائمة فيها 6 عناصر؟
أي أمر يضيف عنصرًا في آخر القائمة؟
append تضيف في النهاية.a = [4, 6]. ما sum(a)؟
4 + 6 = 10.الخلاصة
- القائمة متغيّر واحد يحفظ قيمًا كثيرة بين قوسين مربعين.
- الفهرس يبدأ من 0، و
[-1]آخر عنصر. appendتضيف، وremoveتحذف، و[i]= قيمة تغيّر.lenوsumوmaxوminتعمل مع القوائم.
تحدٍّ برمجي: قائمة الدرجات
سهللديك القائمة marks = [65, 80, 72]. أضف الدرجة 95 إليها، ثم اطبع عدد الدرجات وأعلى درجة والمتوسط.
- استخدم append.
- اطبع: العدد: ثم len.
- اطبع: الأعلى: ثم max.
- اطبع: المتوسط: ثم
sum ÷ len.
ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:
marks = [65, 80, 72]💡 تلميح 1
marks.append(95)💡 تلميح 2
sum(marks) / len(marks)حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.
marks = [65, 80, 72]marks.append(95)print("العدد:", len(marks))print("الأعلى:", max(marks))print("المتوسط:", sum(marks) / len(marks))