تخطَّ إلى المحتوى

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 الكامل بالعربي.