نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
PY

منهج Python

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Python/طرق المرور على المجموعات وتصفيتها (Looping through Collections)

طرق المرور على المجموعات وتصفيتها (Looping through Collections)

looping pythonenumerate zip pythonmap filter pythonpython comprehension

الشرح

## المرور والتصفية المتقدمة

Python تقدم أدوات قوية للمرور على المجموعات وتصفيتها.

### الدوال المدمجة:

**1. enumerate():** المرور مع الفهرس ```python for i, val in enumerate(lst): print(i, val) ```

**2. zip():** المرور على قائمتين معاً ```python for a, b in zip(lst1, lst2): print(a, b) ```

**3. map():** تطبيق دالة على كل عنصر ```python result = list(map(func, lst)) ```

**4. filter():** تصفية العناصر ```python result = list(filter(func, lst)) ```

**5. sorted() مع key:** ```python sorted(lst, key=lambda x: x['name']) ```

الصياغة (Syntax)

syntax
1students = [
2 {"name": "أحمد", "grade": 85},
3 {"name": "سارة", "grade": 92},
4 {"name": "محمد", "grade": 78},
5]
6
7# ترتيب حسب الدرجة
8ranked = sorted(students, key=lambda s: s["grade"], reverse=True)
9for i, s in enumerate(ranked, 1):
10 print(f"{i}. {s['name']} - {s['grade']}")

أمثلة عملية

مثال 1: enumerate و zip

enumerate و zip
1names = ["أحمد", "سارة", "علي"]
2scores = [85, 92, 78]
3
4print("النتائج:")
5for i, (name, score) in enumerate(zip(names, scores), 1):
6 status = "✅ ناجح" if score >= 60 else "❌ راسب"
7 print(f"{i}. {name}: {score} {status}")

مثال 2: map و filter

map و filter
1numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2
3# filter: الأرقام الزوجية
4evens = list(filter(lambda x: x % 2 == 0, numbers))
5print("الزوجية:", evens)
6
7# map: مربع كل رقم
8squares = list(map(lambda x: x**2, numbers))
9print("المربعات:", squares)
10
11# البديل بـ List Comprehension (أوضح)
12evens2 = [x for x in numbers if x % 2 == 0]
13squares2 = [x**2 for x in numbers]

نصائح احترافية

  • —**نصائح المرور المتقدم:**
  • —List/Dict/Set Comprehensions أوضح وأسرع من map/filter في معظم الحالات
  • —استخدم `any()` و `all()` للتحقق من شروط على المجموعة كاملة
  • —`sum()`، `max()`، `min()` تعمل مباشرة على أي iterable
  • —`itertools` مكتبة قوية للعمليات المتقدمة على المجموعات

الدرس السابق

القواميس والخرائط المفتاحية (Dictionaries)

الدرس التالي

بناء واستدعاء الدوال (Defining & Calling Functions)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر