القائمة (list)
القائمة عناصرها مرتَّبة.
مرجع بايثونمثال صفحات القراءة اليومية
- لنفترض أننا نريد حساب مجموع عدد صفحات القراءة خلال الأسبوع.
- فنجعل لكل يوم متغيرًا تحفظ فيه عدد الصفحات التي قرأناها في ذلك اليوم:
- ثم نريد جمع ذلك كله لمعرفة مجموع الصفحات خلال الأسبوع:
- ونريد أن نعرف المعدَّل اليومي، وذلك بقسمة المجموع على عدد الأيام:
وبهذا نلاحظ ثلاثة أمور:
- تكرار كتابة اسم المتغير سبعة مرات
- تكرار كتابة العملية التي بينها ست مرات
- القسمة على عدد ثابت (
7) لأننا نعرف أن عددها سبعة
إنشاء القائمة
نكتب عناصر القائمة بين قوسين مربعين []، ونفصل بينها بفواصل:
- وقد وضعت بايثون للجمع إجراء
sum(list) - ولمعرفة عدد العناصر إجراء
len(list)
نوظفهما لمقصدنا كالتالي:
المرور على عناصر القائمة
نستخدم النمط for x in list للمرور على عناصر القائمة واحدًا واحدًا. في مثالنا، يأخذ x عدد صفحات يوم مختلف في كل دورة، ونطبع هذا العدد داخل الحلقة:
تمر الحلقة على العناصر بترتيبها في القائمة. الاسم x نختاره نحن، وdays هو اسم القائمة التي نمر عليها.
الوصول إلى عنصر وتعديله
لنفترض أن الأيام في القائمة تبدأ بالسبت وتنتهي بالجمعة. ترقيم مواضع القائمة يبدأ من 0؛ فالسبت في الموضع 0، والجمعة في الموضع 6. نكتب رقم الموضع بين قوسين مربعين بعد اسم القائمة للوصول إلى قيمته:
الناتج 5. وإذا صحّحنا سجل الجمعة إلى 8 صفحات، نغيّر القيمة في موضعها:
الناتجان 8 و7. تغيّر عدد صفحات الجمعة، وبقي عدد الأيام سبعة؛ فإسناد قيمة إلى موضع موجود يحدّث العنصر، ولا يضيف عنصرًا آخر.
حذف عنصر
وإذا أردنا حذف سجل الجمعة من القائمة، نستخدم الكلمة المحجوزة del مع موضعه:
الناتجان [10, 15, 30, 20, 25, 0] و6. حُذف العنصر نفسه، ولم تتحول قيمته إلى صفر. وعند حذف عنصر من وسط القائمة، تتحرك العناصر التي بعده موضعًا إلى الخلف.
مثال: قائمة الحضور
نحفظ أسماء الطلاب بحسب ترتيب حضورهم:
مثال: خطوات وصفة
نحفظ خطوات إعداد الشاي بالترتيب الذي سننفّذها به:
مثال: قائمة مشتريات
نجمع أسماء المنتجات التي نريد شراءها:
خلاصة
- القائمة تحفظ تسلسل العناصر، بما فيه ترتيبها وتكرارها: صفحات الأيام بالترتيب.