القوائم: قيم كثيرة تحت اسم واحد
تحمل القائمة عدة قيم مرتبة تحت اسم واحد، وتُكتب بين قوسين مربعين: scores = [12, 7, 9]. ولكل عنصر فهرس هو موضعه، ويبدأ العدّ من ٠: scores[0] يساوي ١٢ وscores[1] يساوي ٧ وscores[2] يساوي ٩. والفهرس السالب يعدّ من النهاية، فـ scores[-1] يساوي ٩. وlen(scores) تعطي عدد العناصر، أي ٣. وscores.append(15) تضيف عنصرًا في النهاية، وscores[1] = 8 تستبدل العنصر ذا الفهرس ١. وبعد هذين التغييرين تصبح القائمة [12, 8, 9, 15]. وremove(9) تحذف أول عنصر بهذه القيمة، وpop() تزيل آخر عنصر وتعيده. ولزيارة كل عنصر نستخدم for x in scores. ولجمع نتيجة نستخدم متغيرًا يُبنى تدريجيًا أثناء الحلقة: total = 0 ثم total = total + x لكل x يعطي المجموع ٤٤؛ وbest = scores[0] ثم استبدال best كلما وُجد x أكبر يعطي الأكبر ١٥. وفي بايثون أدوات جاهزة هي sum(scores) وmax(scores) تعطي النتائج نفسها؛ وكتابة الحلقة يدويًا مرة تساعد على فهمها. ولا تسمِّ متغيراتك list أو sum أو max لأن الاسم يخفي الأداة.
| الفهرس | ٠ | ١ | ٢ | ٣ |
|---|---|---|---|---|
| القيمة | 12 | 8 | 9 | 15 |
1scores = [12, 7, 9] 2print(scores[0]) 3print(scores[-1]) 4print(len(scores)) 5scores.append(15) 6scores[1] = 8 7print(scores)
12 9 3 [12, 8, 9, 15]
1scores = [12, 8, 9, 15] 2best = scores[0] 3for x in scores: 4 if x > best: 5 best = x 6print(best) 7print(sum(scores), max(scores))
15 44 15
1scores = [12, 8, 9, 15] 2scores.remove(9) 3last = scores.pop() 4print(last) 5print(scores)
15 [12, 8]
على الورق اكتب قائمة من خمسة أعداد تختارها (مثل أعمار خمس شخصيات مخترعة). ارسمها صناديق بفهارس من ٠ إلى ٤، ثم اكتب نتيجة len والعنصر الأول والعنصر الأخير بالفهرس -1 وحلقة تجمعها كلها.