دالة Enumerate
جزء من قسم Fundamentals في رحلة Python على Coddy — الدرس 61 من 77.
تتيح لك دالة enumerate() تكرار العناصر عبر تسلسل (مثل القائمة، أو الصف، أو السلسلة النصية) مع تتبع موضع الفهرس (index) لكل عنصر.
بدون enumerate() سنصل إلى كل من الفهرس والقيمة بالطريقة التالية:
fruits = ["apple", "banana", "orange"]
for i in range(len(fruits)):
print(f"Index {i}: {fruits[i]}")تعد enumerate() طريقة أكثر أناقة للحصول على كل من الفهرس والقيمة:
fruits = ["apple", "banana", "orange"]
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")سيقوم كلا المثالين بإخراج:
Index 0: apple
Index 1: banana
Index 2: orangeالتحدي
سهلاكتب برنامجًا يعالج قائمة من الأرقام ويجد فهارس محددة باستخدام وظيفة enumerate().
المهمة: بناءً على قائمة أرقام مفصولة بفاصلة كمدخلات، اطبع قائمة بـ الفهارس للأرقام التي تستوفي أيًا من هذين الشرطين:
- الرقم أقل من 50، أو
- الرقم يقبل القسمة على 5 (الباقي هو 0 عند القسمة على 5)
مثال:
المدخلات: 80,4,99,36,34
- 80 (الفهرس 0): ≥50 ولكنه يقبل القسمة على 5 ← تضمين الفهرس 0
- 4 (الفهرس 1): <50 ← تضمين الفهرس 1
- 99 (الفهرس 2): ≥50 ولا يقبل القسمة على 5 ← استبعاد
- 36 (الفهرس 3): <50 ← تضمين الفهرس 3
- 34 (الفهرس 4): <50 ← تضمين الفهرس 4
المخرجات: [0, 1, 3, 4]
ورقة مرجعية
تسمح دالة enumerate() بالتكرار عبر تسلسل مع تتبع موضع الفهرس (index) لكل عنصر:
fruits = ["apple", "banana", "orange"]
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")ينتج عن هذا:
Index 0: apple
Index 1: banana
Index 2: orangeجرّب بنفسك
lst = list(map(int, input().split(",")))
# اكتب كودك أدناهيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات2المتغيرات
الأرقامالنصوص (String)القيم المنطقية (Boolean)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - المضروب (Factorial)دالة Rangeالحلقات المتداخلةمراجعة - Dynamic Input3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراجالإخراج مع المتغيراتالإدخالتحويل الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ12التكرار عبر التسلسلات
التكرار عبر العناصردالة Enumerateالتكرار عبر النصوص - الجزء الأولالتكرار عبر النصوص - الجزء الثاني