enumerate()
ترقيم العناصر أثناء المرور — enumerate() enumerate()
enumerate() تُرجع أزواج (index, value) أثناء المرور على أي كائن قابل للتكرار، فتغنيك عن range(len(...)).
بدل المرور بالفهرس ثم الوصول للعنصر يدويًا list[i]، تُعيد enumerate الفهرس والقيمة معًا في كل خطوة، وهي الأسلوب البايثوني القياسي لهذه الحاجة.
يمكن تحديد رقم بداية العدّ بمعامل start بدل الصفر الافتراضي.
الصياغة
enumerate(iterable, start=0)
📄 مثال
fruits = ["تفاح", "موز", "عنب"]
for i, fruit in enumerate(fruits, start=1):
print(f"{i}. {fruit}")
# 1. تفاح
# 2. موز
# 3. عنبأهم المعاملات
| المعامل | الوظيفة |
|---|---|
| iterable | أي كائن قابل للتكرار: قائمة، صف، نص، أو أي متسلسلة أخرى |
| start | الرقم الذي يبدأ منه العدّ (افتراضيًا 0) |
💡 نصائح عملية
- استخدم start=1 لعرض ترقيم بشري (1، 2، 3) بدل الفهرسة البرمجية من 0
- أوضح وأقصر من for i in range(len(lst)): item = lst[i]
⚠️ أخطاء شائعة
- الاستمرار باستخدام range(len(lst)) القديم بدل enumerate رغم أنها أوضح
- نسيان أن enumerate تُرجع كائن enumerate كسولًا لا قائمة — لفّها بـ list() لو احتجت قائمة فعلية
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار PYTHON الكامل بالعربي.