تدعم Python العديد من الكائنات القابلة للتكرار: القوائم ، والمجموعات ، والسلاسل ليست سوى عدد قليل. تعتبر حلقة for في Python مرنة بدرجة كافية للتعامل مع هذه الكائنات بسهولة. على وجه الخصوص ، فإنه يوفر عليك التعامل مع الفهرس الرقمي لكل إدخال بنفسك.

لكن في بعض الأحيان ، قد ترغب في العمل مع فهرس ، على سبيل المثال لعد العناصر أو تصفيتها في مجموعة. تعرف على كيفية استخدام دالة تعداد Python للتكرار عبر تسلسل مع تتبع كل من الفهرس والعنصر.

التكرار بدون تعداد ()

ضع في اعتبارك قائمة بايثون التالية.

my_fruits = ["التفاح"، "الكمثرى"، "الموز"]

افترض أنك تريد تتبع عدد كل عنصر في القائمة. يمكنك استخدم حلقة for مع نطاق() تعمل مثل هذا.

العد = 0

إلى عن على فاكهة في النطاق (len (my_fruits)):
print (count، my_fruits [count])
العد + = 1

بينما يعمل هذا ، فإنه يحتوي على بعض أوجه القصور:

  • عليك أن تتبع العد خارج الحلقة.
  • عليك زيادة العدد في كل تكرار.
  • عليك أن تحسب طول الحلقة.
  • النطاق (لين ()) يعمل فقط مع الكائنات القابلة للعد والفهرسة.

يوجد حل أفضل: وظيفة التعداد ().

كيف يعمل التعداد () في بايثون

بايثون عد () تأخذ الدالة مجموعة بيانات وتقوم بإرجاع كائن تعداد. يحتوي كائن التعداد على عداد كمفتاح لكل عنصر يحتوي عليه الكائن. ال

instagram viewer
عد () تقوم الوظيفة بذلك عن طريق تخصيص عدد لكل عنصر. يتوافق هذا العدد مع عدد التكرارات التي أكملتها الوظيفة للوصول إلى تلك القيمة.

يسهل هذا العداد الوصول إلى العناصر الموجودة في المجموعة أو حتى تغيير المجموعة حيثما أمكن ذلك.

مع عد ()، لا يتعين عليك تتبع طول الحلقة أو عدد التكرار. يمكنك أيضًا تجنب الوصول الصريح إلى القيمة باستخدام عامل تشغيل الفهرس ، مثل الفواكه [عدد]. تقوم وظيفة التعداد بمعالجة كل هذه الميزات تلقائيًا.

تعداد بناء جملة بايثون ()

يوجد أدناه بناء الجملة العام لوظيفة enumerate ().

عدّد (قابل للتكرار ، ابدأ =0)

تعداد () يأخذ وسيطين:

  1. متكرر: مجموعة بيانات أو تسلسل يمكن أن تكرره بايثون. على سبيل المثال قائمة أو مجموعة.
  2. البدء: الفهرس الذي يجب أن يبدأ العد من خلاله.

كيف تعداد () يتم تنفيذه

لفهم كيف عد () يعمل ، دعنا نرى كيف يتم تنفيذه بالفعل.

defعد(تسلسل ، ابدأ =0):
ن = البداية

إلى عن على إليم في تسلسل:
أَثْمَر ن ، إليم
ن + = 1

هذه الوظيفة التي يمكنك العثور عليها في ملف تعداد بايثون الوثائق، يأخذ متتالية ووسيطة بدء والتي يتم تعيينها افتراضيًا على 0.

تقوم الوظيفة بعد ذلك بتهيئة المتغير n إلى متغير البداية. هذا يتتبع عدد التكرارات.

في حلقة for التي تلي لكل عنصر في التسلسل ،

  • أَثْمَر يوقف تنفيذ الحلقة.
  • تقوم أيضًا بإرجاع العدد الحالي (n) والقيمة (العنصر).
  • عندما تستأنف الحلقة ، فإنها تزيد n.

القيمة المعادة هي كائن من أزواج القيمة الرئيسية.

إذا كنت تريد الاتصال بـ عد () وظيفة وتمريرها إلى قائمة الفواكه ، ستكون هذه هي قيمة الإخراج.

my_fruits = ["التفاح"، "الكمثرى"، "الموز"]
enumerate_object = تعداد (my_fruits)
طباعة (قائمة (تعداد_ كائن))

# output - [(0، 'apples')، (1، 'pears')، (2، 'bananas')]

عد بمؤشر بداية مختلف

في المثال أعلاه ، لم نحدد فهرس البداية. يوضح لك المثال أدناه كيف يمكنك ضبط فهرس البداية على رقم من اختيارك.

للبدء في الساعة 10 ، قم بما يلي.

enumerate_object = تعداد (my_fruits ، 10)
طباعة (قائمة (تعداد_ كائن))

# الإخراج - [(10، 'apples')، (11، 'pears')، (12، 'bananas')]

تعداد بايثون () أمثلة

فيما يلي بعض الأمثلة التي توضح كيف يمكنك استخدام عد () في بايثون.

تعداد سلسلة Python

في هذا المثال ، ستستخدم التعداد لاسترداد الحرف في الفهرس 5:

my_string = "makeuseof"

إلى عن على العد والقيمة في عدّد (my_string):
إذا العد == 5:
مطبعة (القيمة)

# الإخراج - s

تعداد مجموعة Python

تستطيع ايضا استخذام عد () لتكرار أكثر من Python tuple. في هذا المثال ، يقوم البرنامج بطباعة رأس في التكرار الأول ، قبل عرض العناصر.

my_fruits_tuple = ("التفاح" ، "الكمثرى" ، "الموز")

إلى عن على قيمة المؤشر في عدّد (my_fruits_tuple):
إذا (الفهرس == 0):
طباعة ("فواكه:")

طباعة (قيمة)

/*
الفاكهة:
تفاح
إجاص
موز
*/

تعداد قائمة بايثون

في المثال أدناه ، أنت تستخدم التعداد لتقليل كل الأرقام الموجودة في القائمة أعلى من 10 × 2.

my_number_list = [10, 17, 15, 6]

إلى عن على قيمة المؤشر في عدّد (my_number_list):
إذا (قيمة> 10):
my_number_list [الفهرس] - = 2

طباعة (my_number_list)

# الإخراج - [10 ، 15 ، 13 ، 6]

استخدم التعداد لحساب التكرارات الخاصة بك

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