Python دالة enumerate(): حلقة تكرارية، مجموعة، وسلسلة نصية

⚡ ملخص ذكي

Python تُضيف الدالة enumerate() عدادًا تلقائيًا لأي كائن قابل للتكرار، وتُعيد أزواجًا من الفهرس والقيمة أثناء التكرار. ستتعرف هنا على صيغتها، وفهرس البداية الاختياري، وكيفية عملها على القوائم، والصفوف، والسلاسل النصية، والقواميس.

  • 🔢 ماذا يفعل: يضيف عدادًا لكل عنصر من عناصر الكائن القابل للتكرار، ويعيد أزواجًا من الفهرس والقيمة.
  • ⚙️ بناء الجملة: تأخذ الدالة enumerate(iterable, startIndex) كائنًا قابلًا للتكرار بالإضافة إلى رقم بداية اختياري.
  • 🔟 بدء مخصص: يُحدد startIndex نقطة بداية العد؛ احذفه للبدء من 0.
  • 🔁 مرحاضping: قم بإقرانه بحلقة تكرارية لقراءة الفهرس والقيمة معًا.
  • 📦 أي كائن قابل للتكرار: يعمل على القوائم، والصفوف، والسلاسل النصية، والقواميس.
  • 🤖 مساعدة الذكاء الاصطناعي: أدوات الطيار الآلي والذكاء الاصطناعي تُكمل تلقائيًا حلقات enumerate() وتُعيد هيكلة العدادات اليدوية.

تعداد () وظيفة في Python

ما هي تفاصيل Python تعداد؟

Python تعداد () هي وظيفة مدمجة متاحة مع Python مكتبة. يأخذ المدخلات المحددة كمجموعة أو صفوف ويعيدها ككائن تعداد. ال Python يضيف أمر Enumerate() عدادًا لكل عنصر من عناصر الكائن القابل للتكرار ويعيد كائن تعداد كسلسلة إخراج.

بناء جملة Python تعداد ()

enumerate(iterable, startIndex)

المعاملات

ثلاث معلمات هي:

  • Iterable: كائن يمكن تكراره.
  • فهرس البداية: (اختياري) سيبدأ العد بالقيمة المعطاة في مؤشر البداية للعنصر الأول في الحلقة ويزيدها للعنصر التالي حتى يصل إلى نهاية الحلقة.

ومع ذلك، إذا لم يتم تحديد startIndex، فسيبدأ العد من 0.

قيمة الإرجاع

سيُرجع كائنًا قابلاً للتكرار، مع قيمة عددية لكل عنصر من العناصر إلى كائن التكرار المُعطى كمدخل.

تعداد () في Python مثال

تأتي طريقة التعداد مع عداد/فهرس تلقائي لكل عنصر من العناصر الموجودة في قائمة التعداد Python. ستبدأ قيمة الفهرس الأول من 0. يمكنك أيضًا تحديد فهرس البداية باستخدام المعلمة الاختيارية startIndex في التعداد.
مثال
في الكود أدناه، mylist هي القائمة المعطاة لوظيفة التعداد في Python. وظيفة القائمة (). يستخدم لعرض التعداد Python الناتج.

ملاحظة: لا يوجد مؤشر بداية مستخدم وبالتالي سيبدأ فهرس العنصر الأول من 0.

سيكون الناتج من enumerate بالطريقة التالية:

(0, item_1), (1, item_2), (2, item_3), … (n, item_n)

الملف: python_enumerate.py

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist)
print(list(e_list))

الإخراج:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

استخدام Enumerate() في قائمة تحتوي على startIndex

في المثال أدناه، فهرس البداية المعطى بالرقم 2. سيبدأ فهرس العنصر الأول من فهرس البداية المحدد.

على سبيل المثال:

في المثال أدناه، mylist هي القائمة المعطاة للتعداد. يتم استخدام الدالة list() لعرض مخرجات التعداد.

mylist = ['A', 'B' ,'C', 'D']
e_list = enumerate(mylist,2)
print(list(e_list))

الإخراج:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

مرحاضping حول كائن تعدادي

يوضح المثال التعداد على كائن مع أو بدون startIndex.

  • لا تحتوي حلقة for الأولى على مؤشر startIndex، لذا يبدأ الفهرس من 0.
  • تحتوي حلقة for الثانية على مؤشر startIndex بقيمة 10، لذا يبدأ الفهرس من 10.

على سبيل المثال:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

الإخراج:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

تعداد Tuple

في المثال أدناه، يمكنك استخدام صف داخل التعداد. يمكنك أيضًا استخدام startIndex، وسيبدأ مفتاح كل عنصر من ملف startIndex المعين.

افتراضيًا، مؤشر البداية هو 0. ومن ثم ترى المفتاح 0 للعناصر A و1 للعناصر B وهكذا.

على سبيل المثال:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

الإخراج:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

تعداد سلسلة

In Python، السلسلة عبارة عن مصفوفة، وبالتالي يمكنك تكرارها. إذا قمت بتمرير سلسلة إلى enumerate()‎، فسوف يُظهر لك الناتج فهرس وقيمة كل حرف في السلسلة.

على سبيل المثال:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

الإخراج:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

تعداد القاموس

In Pythonيتم إدراج القاموس بين قوسين متعرجين، وداخل هذه الأقواس المتعرجة، يتم إعلان القيم.

كل عنصر عبارة عن زوج مفتاح/قيمة ويتم فصله بفواصل. يمكنك استخدام قاموس داخل الدالة enumerate()‎ ورؤية المخرجات.

my_dict = {"a": "PHP", "b":"JAVA", "c":"PYTHON", "d":"NODEJS"}
for i in enumerate(my_dict):
  print(i)

الإخراج:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

مزايا استخدام التعداد

فيما يلي إيجابيات/فوائد استخدام Enumerate في Python:

  • يسمح لك التعداد بالتكرار خلال القائمة، والصفوف، والقاموس، والسلسلة، ويعطي القيم مع الفهرس.
  • للحصول على قيمة الفهرس باستخدام حلقة for، يمكنك الاستفادة من list.index(n). ومع ذلك، فإن list.index(n) مكلف للغاية لأنه سيجتاز الحلقة مرتين. يعد التعداد مفيدًا جدًا في مثل هذه الحالة لأنه يوفر الفهرس والعناصر دفعة واحدة.

الأسئلة الشائعة

الدالة enumerate() هي دالة مدمجة تضيف عدادًا إلى كائن قابل للتكرار مثل قائمة أو صف أو سلسلة نصية أو قاموس، وتعيد أزواجًا من الفهرس والقيمة.

الصيغة هي enumerate(iterable, startIndex). الكائن iterable هو أي كائن قابل للتكرار؛ وstartIndex هو رقم بداية اختياري. بدونه، يبدأ العد من 0.

مرر وسيطًا ثانيًا، مثل enumerate(mylist, 2). سيبدأ العد من تلك القيمة بدلًا من 0، وبالتالي سيحصل العنصر الأول على الفهرس 2.

نعم. تمرير قاموس يُمرر على مفاتيحه، ويُقرن كل مفتاح بفهرس. استخدم دالة `items()` لحصر عناصر القاموس عندما تحتاج إلى القيم أيضًا.

تُعد الدالة enumerate() أنظف وأسرع من الفهرس اليدوي أو list.index(n)، والتي تقوم بالمسح مرتين، وتعيد الفهرس والعنصر معًا.

تُكمل المساعدات الذكية مثل GitHub Copilot تلقائيًا حلقات enumerate()، وتقترح فهرسًا ابتدائيًا، وتعيد هيكلة العدادات اليدوية، مما يُسرّع العمليات الاصطلاحية. Python واكتشاف الأخطاء التي تزيد بمقدار واحد.

نعم. تعمل أدوات التحليل المدعومة بالذكاء الاصطناعي على أتمتة عملية إعادة البناء هذه، حيث تكتشف أنماط range(len(x)) وتعيد كتابتها كـ enumerate(x) للحصول على شكل أنظف وأكثر وضوحًا. Pythonحلقات ic ذات سلوك متطابق.

تُعيد الدالة enumerate() كائن enumerate، وهو مُكرِّر لأزواج (الفهرس، القيمة). استخدم حلقة التكرار مباشرةً أو ضعه داخل الدالة list() لعرض جميع الأزواج.

تلخيص هذه التدوينة بـ: