استخدم وظيفة التعداد في Python لإنشاء حلقات باستخدام العدادات

Use Enumerate Function Python Create Loops With Counters



تشرح هذه المقالة استخدام وظيفة التعداد المتوفرة في مكتبة الوحدات القياسية في Python. تتيح لك وظيفة التعداد تعيين فهرس أو عدد للعناصر في أي كائن قابل للتكرار. يمكنك بعد ذلك تنفيذ المزيد من المنطق عليها حيث سيكون لديك وصول إلى كل من القيمتين وعدد معين لهما.

النحو والمثال الأساسي

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







ل (intأنا= 0؛أنا< 10؛أنا++)

{

printf ('٪دن'وأنا)؛

}

تقوم تعليمة الحلقة بتهيئة متغير له قيمة صفر ، ويتحقق من أنه أقل من عتبة ويزيدها بعدد واحد بعد تقييم المنطق داخل كتلة الحلقة (إذا تم استيفاء شرط الإيقاف). بهذه الطريقة يمكنك استخدام فهرس وتعيينه لأي كائنات مشار إليها في كتلة الحلقة. بالمقارنة ، هذا ما تبدو عليه حلقة for بنفس النتيجة في بايثون:



لأنافي نطاق(0و 10):

مطبعة (أنا)

تتيح لك وظيفة النطاق في Python تحديد تسلسل نطاق رقمي له الخطوة الافتراضية 1. يمكنك تغيير قيمة الخطوة من خلال توفير وسيطة ثالثة. يتم استخدام الوسيطة الثانية في دالة النطاق لتعيين الحد الأدنى لشرط الإيقاف. تنتج كلا عينتي الكود الناتج التالي:



0

1

2

3

4

5

6

7

8

9

تعمل هذه الحلقات بشكل جيد إذا كنت تريد فقط إنشاء تسلسل رقمي وربطها ببعض المنطق داخل جملة الحلقة. ومع ذلك ، قد تضطر إلى استخدام حلقة متداخلة أخرى أو استخدام وظيفة الإنتاجية في أي نوع قابل للتكرار لتعيين نوع من العد القابل للتتبع. تسهل طريقة التعداد تعيين الفهارس إلى العناصر التكرارية في عبارة واحدة ، مما يلغي الحاجة إلى تشغيل حلقات متداخلة متعددة. ألق نظرة على نموذج التعليمات البرمجية هذا:





أعداد= ['صفر'و 'واحد'و 'اثنين'و 'ثلاثة'و 'أربعة'و 'خمسة']

تعدادها= المدرجة(أعداد)

لفهرسوغرضفيالأرقام المعدودة:

مطبعة (فهرسوغرض)

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

[(0، 'صفر')، (1، 'واحد')، (2، 'اثنان')، (3، 'ثلاثة')، (4، 'أربعة')، (5، 'خمسة')]

تقوم وظيفة التعداد بتعيين عدد لكل عنصر في نوع متكرر وإنشاء مجموعات لها قيم مزدوجة. بشكل افتراضي ، يبدأ العد من الصفر.



الآن بعد أن قمت بتعيين رقم لكل عنصر في نوع قابل للتكرار ، يمكنك بسهولة التكرار فوقه دون كتابة عبارات متداخلة:

أعداد= ['صفر'و 'واحد'و 'اثنين'و 'ثلاثة'و 'أربعة'و 'خمسة']

تعدادها= المدرجة(أعداد)

لفهرسوغرضفيالأرقام المعدودة:

مطبعة (فهرسوغرض)

سينتج عن نموذج الشفرة المحدد أعلاه المخرجات التالية:

0 صفر

واحد 1

2 اثنان

3 ثلاثة

4 أربعة

5 خمسة

يمكنك جعل الشفرة أقصر باستخدام وظيفة التعداد المضمنة ، كما هو موضح في النموذج أدناه:

أعداد= ['صفر'و 'واحد'و 'اثنين'و 'ثلاثة'و 'أربعة'و 'خمسة']

لفهرسوغرضفي المدرجة(أعداد):

مطبعة (فهرسوغرض)

باستخدام تعداد مع فهرس بداية مختلف

تأخذ وظيفة التعداد وسيطة اختيارية حيث يمكنك تحديد فهرس بداية. بشكل افتراضي ، يكون الرقم صفرًا ، ولكن يمكنك تغييره باستخدام وسيطة البدء:

أعداد= ['واحد'و 'اثنين'و 'ثلاثة'و 'أربعة'و 'خمسة']

لفهرسوغرضفي المدرجة(أعدادوبداية=1):

مطبعة (فهرسوغرض)

في العبارة الثانية ، يتم استخدام وسيطة start = 1 لتغيير نقطة البداية. بعد تشغيل نموذج الشفرة المحدد أعلاه ، يجب أن تحصل على الإخراج التالي:

واحد 1

2 اثنان

3 ثلاثة

4 أربعة

5 خمسة

تعيين الفهرس بالخطوات

في القسم الأول من هذه المقالة ، يتم عرض بنية for loop في لغة C حيث يمكنك تحديد الخطوات بين كل عدد أو فهرس لاحق. لا تتوفر أي وسيطة من هذا القبيل في دالة التعداد في Python ، لذا لا يمكنك تحديد خطوة بين الأعداد. يمكنك بالفعل كتابة المنطق الخاص بك لتنفيذ الخطوات داخل كتلة حلقة for المعددة. ومع ذلك ، هناك طريقة لتنفيذ الخطوات المخصصة عن طريق كتابة الحد الأدنى من التعليمات البرمجية. يوضح المثال التالي تنفيذ الخطوات باستخدام وظائف zip و range:

أعداد= ['صفر'و 'اثنين'و 'أربعة'و 'ستة']

لفهرسوغرضفي أزيز(نطاق(0و 7و 2)وأعداد):

مطبعة (فهرسوغرض)

تسمح لك وظيفة zip بإنشاء أزواج من خلال التقاط العناصر التي لها نفس الفهرس من اثنين أو أكثر من العناصر التكرارية. لذا ، فإن وظيفة zip هنا تلتقط عنصرًا من الدالة القابلة للتكرار التي تم إرجاعها من دالة النطاق (0 ، 7 ، 2) وعنصرًا آخر من قائمة الأرقام ، ثم تقوم بإقرانهما معًا في مجموعة. النتيجة النهائية هي تطبيق مماثل لوظيفة التعداد ولكن بخطوات مخصصة محددة كوسيطة ثالثة في دالة النطاق (0 ، 7 ، 2) (2 في هذه الحالة). بعد تشغيل نموذج الشفرة المحدد أعلاه ، يجب أن تحصل على الإخراج التالي:

0 صفر

2 اثنان

4 أربعة

6 ستة

استنتاج

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