بايثونالكلاس list
- مفهوم الكلاس list
- الوصول لعناصر الـ list
- حذف عناصر الـ list بواسطة الجملة del
- تجزيء الـ list
- إستخدام العوامل + و * و in مع الـ list
- دوال الكلاس list
- دوال جاهزة في بايثون للتعامل مع الـ list
مفهوم الكلاس list
الـ list عبارة عن مصفوفة ليس لها حجم ثابت, يمكنها تخزين قيم من مختلف الأنواع في وقت واحد و يمكنك تبديل قيمها متى شئت.
طريقة تعريف list
لتعريف list نستخدم الرمز [ ].
بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين. و يمكنك تحديد نوع و عدد العناصر التي تريد وضعها فيه فقط.
في المثال التالي قمنا بتعريف list فارغ, أي لا يحتوي أي عنصر.
المثال الأول
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list وضعنا فيه أعداد صحيحة.
المثال الثاني
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list وضعنا فيه نصوص.
المثال الثالث
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list وضعنا فيه أعداد صحيحة و نصوص.
المثال الرابع
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list إسمه data و يتألف من 4 عناصر. ثم قمنا بإعطائه 4 قيم مختلفة في النوع.
ملاحظة: الكلمة None وضعنا للإشارة إلى أننا لا نريد وضع قيم إفتراضية للعناصر الموجودة في hgJ list.
المثال الخامس
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list إسمه numbers, قيم عناصره الإفتراضية هي 0, و يتألف من 3 عناصر, ثم قمنا بإعطائه 3 أعداد صحيحة.
المثال السادس
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list, إسمه languages, قيم عناصره الإفتراضية هي 'Not Specified', و يتألف من 3 عناصر, ثم قمنا بإعطائه 3 قيم نصية.
المثال السابع
سنحصل على النتيجة التالية عند التشغيل.
الوصول لعناصر الـ list
للوصول لأي عنصر في الـ list سواء للحصول على قيمته أو تغييرها فإننا نستخدم رقم الـ Index الخاص بالعنصر.
في بايثون, يمكنك الوصول للعناصر الموجودة في الـ list بطريقتين:
- في حال أردت الوصول لعناصر الـ list من اليسار إلى اليمين, أي من أول عنصر تم إدخاله, فإن الـ Index لأول عنصر سيكون 0.
- في حال أردت الوصول لعناصر الـ list من اليمين إلى اليسار, أي من آخر عنصر تم إدخاله, فإن الـ Index لآخر عنصر سيكون 1-.
في المثال التالي قمنا بتعريف list وضعنا فيه نصوص. بعدها قمنا بعرض قيمة أول و ثاني عنصر فيه.
المثال الأول
سنحصل على النتيجة التالية عند التشغيل.
Sara
في المثال التالي قمنا بتعريف list وضعنا فيه نصوص. بعدها قمنا بعرض قيمة آخر و قبل آخر عنصر فيه.
المثال الثاني
سنحصل على النتيجة التالية عند التشغيل.
Mhamad
في المثال التالي قمنا بتعريف list وضعنا فيه نصوص. بعدها قمنا بعرض جميع القيم الموضوعة فيه باستخدام الحلقة for.
المثال الثالث
سنحصل على النتيجة التالية عند التشغيل.
Sara
Nada
Mhamad
Salem
في المثال التالي قمنا بتعريف list وضعنا فيه أعداد صحيحة. بعدها قمنا بحساب ناتج جمع جميع القيم الموضوعة فيه باستخدام الحلقة for.
المثال الرابع
سنحصل على النتيجة التالية عند التشغيل.
حذف عناصر الـ list بواسطة الجملة del
الجملة del تستخدم لحذف المصفوفة كما هي من الذاكرة أو لحذف عناصر محددة منها.
عند حذف عنصر في list بواسطة الجملة del فإن مترجم لغة بايثون يقوم بإعادة ترتيب عناصره من جديد و تحديث رقم الـ Index الخاص بكل عنصر.
في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بحذف عنصرين منه.
المثال الأول
سنحصل على النتيجة التالية عند التشغيل.
الصورة التالية توضح كيف تم إلغاء العناصر.
في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بحذف العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3. أي قمنا بحذف العناصر arr[0] - arr[1] - arr[2] دفعة واحدة.
المثال الثاني
سنحصل على النتيجة التالية عند التشغيل.
الصورة التالية توضح كيف تم إلغاء العناصر.
في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بحذفه من الذاكرة. بعدها حاولنا أن نعرض ما يحتويه.
المثال الثالث
سنحصل على النتيجة التالية عند التشغيل.
تجزيء الـ list
المقصود من تجزيء الـ list هو إرجاع جزء منه سواء لعرضه أو تخزينه.
في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بعرض جزء منه.
فعلياً قمنا بعرض العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بعرض قيم العناصر arr[0] - arr[1] - arr[2].
المثال الأول
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list وضعنا فيه أرقام. بعدها قمنا بنسخ جزء منه و وضعه في list ثانية.
فعلياً قمنا بنسخ العناصر الموجودة فيه إبتداءاً من العنصر الذي يملك Index رقم 0 وصولاً إلى العنصر الموجود قبل العنصر الذي يملك Index رقم 3.
أي قمنا بنسخ قيم العناصر arr[0] - arr[1] - arr[2].
المثال الثاني
سنحصل على النتيجة التالية عند التشغيل.
إستخدام العوامل + و * و in مع الـ list
العامل | دواعي الإستخدام |
---|---|
+ | العامل + يستخدم لدمج list أو أكثر في list واحد. |
* | العامل * يستخدم لتكرار قيمة معينة أو نوع بيانات معين ليمثل نوع القيم التي يمكن وضعها في عناصر الـ list كما فعلنا في بعض الأمثلة السابقة. |
in | العامل in يستخدم للبحث في الـ list عن قيمة معينة أو للمرور على قيمه عند إستخدامه في الحلقة for كما فعلنا في بعض الأمثلة السابقة. |
في المثال التالي قمنا بتخزين إثنين list في list واحد بواسطة العامل +.
المثال الأول
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي قمنا بتعريف list وضعنا فيه 3 عناصر تملك 'python' كقيمة لهم بواسطة العامل *.
المثال الثاني
سنحصل على النتيجة التالية عند التشغيل.
في المثال التالي إستخدمنا العامل in للبحث في الـ list عن قيمة معينة.
المثال الثالث
سنحصل على النتيجة التالية عند التشغيل.
True
دوال الكلاس list
إسم الدالة مع تعريفها | |
---|---|
1 | append(obj)
تستخدم لإضافة عنصر جديد في آخر الـlist الذي قام باستدعائها. شاهد المثال |
2 | extend(iterable)
تستخدم لإضافة عناصر مصفوفة من أي نوع في آخر الـlist الذي قام باستدعائها. شاهد المثال |
3 | insert(index, obj)
تستخدم لإضافة عنصر جديد في مكان محدد في الـlist الذي قام باستدعائها. شاهد المثال |
4 | pop([index])
تستخدم لحذف عنصر محدد في الـlist الذي قام باستدعائها, أو لحذف آخر عنصر موجود فيه. شاهد المثال |
5 | clear()
تستخدم لحذف جميع عناصر الـlist الذي قام باستدعائها. شاهد المثال |
6 | copy()
ترجع نسخة من الـlist الذي قام باستدعائها. شاهد المثال |
7 | count(x)
تستخدم للبحث في الـlist الذي قام باستدعائها عن قيمة معينة. ترجع عدد صحيح يمثل كم مرة تم إيجاد عنصر عنده نفس القيمة التي مررناها لها مكان البارميتر x. شاهد المثال |
8 | remove(x)
تستخدم لحذف أول عنصر يتم إيجاده في الـlist الذي قام باستدعائها يملك نفس القيمة التي نمررها لها مكان البارميتر x. في حال لم يتم العثور على القيمة المراد حذفها ترمي الإستثناء ValueError. شاهد المثال |
9 | index(x[, start[, end]])
تبحث في الـlist الذي قام باستدعائها عن Index أول عنصر يملك القيمة التي نمرره لها مكان الباراميتر x و ترجعه. في حال لم يتم العثور على القيمة المراد معرفة مكانها ترمي الإستثناء ValueError. شاهد المثال |
10 | sort(reverse=False)
تستخدم لترتيب عناصر الـlist الذي قام باستدعائها بشكل تصاعدي أو تنازلي. شاهد المثال |
11 | reverse(reverse=False)
تستخدم لعكس ترتيب عناصر الـlist الذي قام باستدعائها. شاهد المثال |
دوال جاهزة في بايثون للتعامل مع الـ list
إسم الدالة مع تعريفها | |
---|---|
1 | len(list)
ترجع عدد صحيح يمثل عدد عناصر الـlist الذي نمرره لها عند إستدعاءها. شاهد المثال |
2 | min(list)
ترجع أصغر قيمة موجودة في الـlist الذي نمرره لها عند إستدعاءها. شاهد المثال |
3 | max(list)
ترجع أكبر قيمة في الـlist الذي نمرره لها عند إستدعاءها. شاهد المثال |
4 | list(sequence)
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـlist. شاهد المثال |