إضافة الشروط
جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 52 من 78.
تصبح فهم القوائم (List comprehensions) أكثر قوة عندما تضيف المنطق الشرطي. يتيح لك هذا إنشاء قوائم جديدة بناءً على قوائم موجودة، مع تصفية وتحويل العناصر بناءً على شروط محددة.
إن صيغة إضافة شرط إلى (list comprehension) هي:
new_list = [expression for item in iterable if condition]إليك شرح للصيغة:
new_list: القائمة الجديدة التي سيتم إنشاؤها.
expression: القيمة التي سيتم تضمينها فيnew_list. يمكن أن يكون هذا نسخة معدلة منitem.
for item in iterable: حلقة تكرارية تمر عبر كل عنصر فيiterable(على سبيل المثال، قائمة list، أو صف tuple، أو نطاق range).
item: العنصر الحالي الذي تتم معالجته في الحلقة.
if condition: مرشح يحدد ما إذا كان الـitemالحالي يجب تضمينه فيnew_list. يتم تقييم الـexpressionفقط إذا كان الـconditionهوTrue.
إليك مثالاً:
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# المخرجات: [2, 4, 6]في هذا المثال، ينشئ تعبير القائمة (list comprehension) قائمة جديدة تسمى evens من خلال أخذ كل عنصر n من قائمة numbers وتضمينه فقط إذا كان زوجياً (أي، n % 2 == 0).
التحدي
سهلقم بإنشاء دالة باسم filter_and_square تأخذ قائمة من الأرقام numbers كمعامل. يجب أن تستخدم الدالة list comprehension لإنشاء قائمة جديدة تتضمن مربعات الأرقام الموجبة فقط من القائمة الأصلية. يجب أن تعيد الدالة القائمة الجديدة.
ورقة مرجعية
تسمح لك تضمينات القائمة (List comprehensions) ذات المنطق الشرطي بتصفية وتحويل العناصر بناءً على شروط محددة:
new_list = [expression for item in iterable if condition]expression: القيمة التي سيتم تضمينها في القائمة الجديدةfor item in iterable: التكرار عبر كل عنصرif condition: عامل تصفية يحدد ما إذا كان يجب تضمين العنصر
مثال - تصفية الأعداد الزوجية:
numbers = [1, 2, 3, 4, 5, 6]
evens = [n for n in numbers if n % 2 == 0]
print(evens)
# الناتج: [2, 4, 6]جرّب بنفسك
def filter_and_square(numbers):
# اكتب الكود هنايتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1استكشاف المتغيرات
الثوابتإسناد المتغيرات المتعددةتبديل المتغيراتالمتغيرات النائبةتقريب الأرقامتحويل القوائم4تطبيق سجل جهات الاتصال
عرض القائمةإضافة جهة اتصال7المجموعات - الجزء الثاني
العمليات الرياضية - الجزء الأولالعمليات الرياضية - الجزء الثانيمراجعة - البحث عن الكنزالمجموعات الجزئية والمجموعات الشاملةالتكرار عبر المجموعاتمراجعة - متتبع البطولة10أساسيات تضمين القوائم (List Comprehensions)
الصيغة البرمجيةإنشاء قوائم بسيطةإضافة الشروطاستخدام تجميع البياناتمراجعة - بيت القوائممراجعة - عناصر الحرية5اتخاذ القرارات المتقدم
المعامل الثلاثيالتحقق من الانتماءالتحقق من الهويةأخطاء الإزاحةمراجعة - فلتر العطلات8مدير سجلات الطلاب
نظرة عامة على المشروعإضافة طالب3القواميس - الجزء الثاني
دوال القواميسالقواميس المتداخلةالتحقق من وجود المفاتيحالتكرار عبر القواميسمراجعة - عداد التكرار9تجميع البيانات المتقدم
استخدام Sumإيجاد الحد الأدنى والأقصىفرز البيانات بكفاءةمراجعة - Dictionary Sorter12أساسيات معالجة الأخطاء
ما هي معالجة الأخطاء؟كتلة Try و Exceptالتعامل مع استثناءات متعددةمراجعة - أخطاء عربة التسوق