Itertools هي واحدة من أكثر الوحدات فائدة التي توفرها Python. وظائفه تجعل من السهل التعامل مع القوائم والمصفوفات. سواء كنت بحاجة إلى جميع تباديل القيم في مصفوفة ، أو تريد تجميع أحرف من سلسلة ، يمكن لـ Itertools مساعدتك.

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

الرسمي بايثون توضح الوثائق أن Itertools تحتوي على كود لبناء التكرارات. توفر هذه الوحدة وظائف سريعة وفعالة للعمل مع القوائم والمصفوفات.

قبل استخدام هذه الوحدة ، تحتاج إلى استيرادها باستخدام الصيغة التالية:

استيراد أدوات itertools

هناك ثلاثة أنواع مختلفة من التكرارات موجودة في هذه الوحدة.

  1. التكرارات اللانهائية
  2. التكرارات التوافقية
  3. إنهاء التكرارات

التكرارات اللانهائية

يمكن للمكررات اللانهائية تشغيل حلقة لا نهائية. غالبًا ما يتم تشغيل هذه الوظائف باستخدام ملف لحلقة. هناك ثلاثة مكررات لانهائية.

1. العد (ابدأ ، خطوة)

ال عدد() تأخذ الوظيفة معلمتين:

instagram viewer
بداية و ال خطوة. تبدأ الحلقة من قيمة البداية وتُرجع القيم التي تتزايد تدريجيًا ، والتي يتم تعيينها افتراضيًا على 1. ضع في اعتبارك المثال الموضح أدناه: تبدأ الحلقة من 2 وستضيف 2 في كل مرة. الحلقة تنكسر عندما تكون قيمة أنا يصبح 10.

لأني في itertools.count (2،2):
إذا كنت == 10:
استراحة
آخر:
طباعة (أنا ، نهاية = "")

انتاج:

2 4 6 8 

2. كرر (number، timesToReat)

ال كرر() الدالة تقبل اثنين من المعلمات. الأول هو القيمة التي تنتجها الوظيفة بشكل متكرر. المعلمة الثانية هي عدد المرات التي يجب أن يتكرر فيها الرقم. إذا لم تحدد المعلمة الثانية ، فستعمل الحلقة بلا حدود.

لأني في itertools. كرر (2،5):
طباعة (أنا ، نهاية = "")

انتاج:

2 2 2 2 2 

3. دورة (إدخال)

ال دورة() تتكرر الوظيفة من خلال الإدخال وتطبع العناصر الفردية بترتيب معين. عندما يصل إلى نهاية مدخلاته ، دورة إعادة التشغيل من البداية.

ج = 0
var = "12345"
بالنسبة إلى i في itertools.cycle (var):
إذا كان c == 12:
استراحة
آخر:
ج = ج + 1
طباعة (أنا ، نهاية = "")

انتاج:

1 2 3 4 5 1 2 3 4 5 1 2

التكرارات التوافقية

توفر التكرارات التوافقية وظائف لإجراء التباديل والتوليفات والمنتجات الديكارتية.

1. المنتج (المدخلات)

ال المنتج() دالة تحسب المنتج الديكارتي للمدخلات المحددة. يحتوي على معلمة مكررة تحسب المنتج الديكارتي للمكرر بنفسه. إنها معلمة اختيارية.

مجموعة = [1،2،3]
طباعة (قائمة (itertools.product (مجموعة ، كرر = 2)))
سلسلة = "ABC"
طباعة (قائمة (itertools.product (سلسلة، "XYZ")))

انتاج:

مثال 1 [(1 ، 1) ، (1 ، 2) ، (1 ، 3) ، (2 ، 1) ، (2 ، 2) ، (2 ، 3) ، (3 ، 1) ، (3 ، 2) ، (3 ، 3)]
مثال 2 [('A'، 'X')، ('A'، 'Y')، ('A'، 'Z')، ('B'، 'X')، ('B'، 'Y ')، (' B '،' Z ')، (' C '،' X ')، (' C '،' Y ')، (' C '،' Z ')]

2. التباديل (المدخلات والحجم)

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

arr = [1،2،3،4]
طباعة (قائمة (itertools.permutations (arr، 2)))

انتاج:

[(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]

متعلق ب: وظائف بايثون التي يجب أن تعرفها

3. مجموعات (الإدخال ، الطول)

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

arr = [1،2،3،4]
طباعة (list (itertools.combinations (arr، 3)))

انتاج:

[(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]

إنهاء التكرارات

ينتج التكرارات النهائية المخرجات بناءً على الشروط المعطاة للمدخل. يمكنك فهمها بشكل أفضل من بعض الأمثلة على الوظائف.

1. تتراكم (المدخلات ، عامل)

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

مشغل الاستيراد
arr = [1،2،3،4]
طباعة (قائمة (itertools.accumulate (arr)))
طباعة (قائمة (itertools.accumulate (arr، worker.sub)))

انتاج:

[1, 3, 6, 10]
[1, -1, -4, -8]

2. starmap (وظيفة ، إدخال)

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

arr = [(1،2،3)، (4،5،6)، (7،8،9)]
طباعة (قائمة (itertools.starmap (max، arr)))

انتاج:

[3, 6, 9]

متعلق ب: كيفية إنشاء واستخدام المجموعات في بايثون

3. مرشح خطأ (وظيفة)

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

arr = [1،2،3،4]
طباعة (قائمة (itertools.filterfalse (lambda x: x٪ 2! = 0، arr)))

انتاج:

[2, 4]

أكمل رحلة ترميز بايثون

الآن بعد أن تعرفت على وحدة Itertools ، حان الوقت لاستكشاف وحدات Python النمطية الأخرى. تحتوي Python على وحدات ومكتبات لمجموعة واسعة من المهام. وهي تشمل مفاهيم متقدمة مثل تحويل فورييه وتطبيقات الذكاء الاصطناعي / تعلم الآلة.

بعض الوحدات أكثر تعقيدًا من غيرها وستستغرق وقتًا أطول لتعلمها. تمكّنك وحدة Tkinter من إنشاء تطبيقات واجهة المستخدم الرسومية الكاملة في Python.

كيفية بناء آلة حاسبة في Tkinter

حسِّن مهاراتك في Python Tkinter من خلال هذا المشروع المبتدئ.

اقرأ التالي

يشاركسقسقةبريد الالكتروني
مواضيع ذات صلة
  • برمجة
  • برمجة
  • بايثون
نبذة عن الكاتب
أوناتي بامانيا (11 مقالة منشورة)

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

المزيد من Unnati Bamania

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك