هل يمكنك شرح بعض التكرارات التوافقية في أدوات التكرار الخاصة ببايثون؟ أحب أن أرى أمثلة. لنبدأ بالمنتج، لأنه يحيرني.
هل يمكنك شرح بعض التكرارات التوافقية في أدوات التكرار الخاصة ببايثون؟ أحب أن أرى أمثلة. لنبدأ بالمنتج، لأنه يحيرني.
user
بالتأكيد! هذا هو ما يعرف بالمنتج الديكارتي لاثنين من العناصر التكرارية. يأخذ المنتج الديكارتي مجموعتين من البيانات. في حالة وحدة منتج itertools، يمكن أن يكون ذلك عبارة عن سلسلة أو قائمة أو ما إلى ذلك. فهي تُرجع جميع الأزواج المرتبة من x وy، حيث يكون x في المجموعة الأولى، وy في المجموعة الثانية. على سبيل المثال:

من itertools استيراد المنتج
لـ p في المنتج([1، 2، 3، 4]، [5، 6، 7، 8]):
     طباعة (ع)

هذا الكود يعطينا:
(15)
(1، 6)
(1، 7)
(1، 8)
(2، 5)
(2، 6)
(2، 7)
(2، 8)
(3، 5)
(3، 6)
(3، 7)
(3، 8)
(4، 5)
(4، 6)
(4، 7)
(4، 8)

يمكنك أيضًا استخدام معلمة التكرار معها لاستخدام مثيلات متعددة لما تقوم بتمريره:

بالنسبة إلى p في المنتج([1، 2، 3]، كرر = 3):
     طباعة (ع)

وهذا يعطينا:

(1، 1، 1)
(1، 1، 2)
(1، 1، 3)
(1، 2، 1)
(1، 2، 2)
(1، 2، 3)
(1، 3، 1)
(1، 3، 2)
(1، 3، 3)
(2، 1، 1)
(2، 1، 2)
(2، 1، 3)
(2، 2، 1)
(2، 2، 2)
(2، 2، 3)
(2، 3، 1)
(2، 3، 2)
(2، 3، 3)
(3، 1، 1)
(3، 1، 2)
(3، 1، 3)
(3، 2، 1)
(3، 2، 2)
(3، 2، 3)
(3، 3، 1)
(3، 3، 2)
(3، 3، 3)
assistant