‫دعنا نتحدث عن آخر واحد يتم تقليله وهذا متقدم قليلاً وقد يكون من الصعب فهمه قليلاً في البداية ، ولكن
‫من الجيد معرفة أنه موجود ويمكنك معرفة المزيد عنه من خلال التدرب عليه وقراءة
‫بعض الوثائق الخاصة بك. ملك.
‫لا يأتي Reduce الآن كجزء من وظيفة python المضمنة.
‫لكي نستخدم الاختزال ، علينا أن نفعل شيئًا كهذا.
‫الآن ، لم تر هذا من قبل وهذا شيء سنصل إليه في قسم الوحدات في الدورة التدريبية.
‫لكن ما يحدث هنا بشكل أساسي هو عندما نقوم بتنزيل مترجم Python وحزمة Python ، في حالتنا
‫، هذا التموج يفعل ذلك بالفعل لنا.
‫يمكننا استيراد شيء ما من هذه الأدوات غير التقليدية ، وأدوات الفانك هي ما نسميه حزام الأدوات الذي يمكننا
‫استخدامه للأدوات الوظيفية التي تأتي مع تثبيت Python.
‫ومن هناك توجد وظيفة محددة يمكننا استيرادها.
‫لذلك أقول ، مرحبًا ، من أدوات الفانك من حزام الأدوات هذا ، أريدك أن تقوم باستيراد وظيفة الاختزال حتى نتمكن من استخدامها
‫في الكود الخاص بنا مرة أخرى ، وهو شيء سنقوم بتغطيته لاحقًا في الدورة التدريبية.
‫حتى الآن ، ما عليك سوى نسخ هذا السطر ولصقه.
‫بعد ذلك ، دعنا نزيل بعضًا من قائمتنا ونستخدم هنا تقليل.
‫الآن مع تقليل ، سنحتاج إلى بعض الأشياء.
‫أولاً.
‫نحن بحاجة إلى الوظيفة.
‫ثم نحتاج إلى التسلسل أو البيانات.
‫إذن ما هي الوظيفة التي ستكون؟
‫بادئ ذي بدء ، ستكون بياناتنا هي قائمتنا.
‫لذلك سأقول إن قائمتي والوظيفة المصغرة تسمح لنا بعمل شيء مثير للاهتمام.
‫يمكنني أن أعطيها ، دعنا نقول ، وظيفة ، وستطلق عليها هذه الوظيفة اسم المجمع.
‫ويأخذ المجمع معلمتين.
‫وتذكر أن هذا سيتم استدعاؤه بالاختزال.
‫لذا فإن Reduce سيكون مسؤولاً عن إعطاء هاتين المعلمتين من البيانات التي نقدمها
‫، وهي قائمتي.
‫المعلمة الأولى ستكون ما نسميه المجمع أو في حالتي ACC.
‫ثم هنا سيكون العنصر.
‫الآن حيث يصبح الأمر مثيرًا للاهتمام حقًا أنه عندما نمرر القائمة الخاصة بي لأول مرة من التصغير ، سنحصل على
‫العنصر الأول.
‫سيكون العنصر الأول في هذه المعلمة.
‫ومع ذلك ، ما هو هذا أسيزي في البداية.
‫حسنًا ، إذا أزلت الأقواس هنا.
‫وتظهر لك تقليل.
‫ترى أن لدينا الوظيفة.
‫التسلسل الذي سيكون قائمتنا في حالتنا.
‫ثم المبدئي والأولي هو ما سيكون عليه المركب.
‫لذا مرة أخرى ، دعنا نقول أننا سنحصل على وظيفة المجمع التي لن نسميها بعد.
‫تخفيض سيفعل ذلك لنا.
‫سأعطيها القائمة.
‫أو البيانات التي نريد تكرارها.
‫ثم سأعطيها القيمة الأولية وهي صفر.
‫إذن لدينا ثلاثة.
‫المعلمات هنا أو ثلاث حجج نقدمها.
‫اسمحوا لي أن أغلق الأقواس.
‫ها أنت ذا.
‫دعنا نجعل هذا أكبر قليلاً هنا ونتأكد من أنني أستطيع التهجئة.
‫الآن هنا ، سيكون العنصر الأول هو العنصر الأول في قائمتي.
‫ومن ثم سيتحول المجمع إلى الصفر الافتراضي إذا لم نعطيه أي شيء.
‫أو في حالتنا ، قلنا أن المُجمع سيكون صفرًا.
‫لذا فإن أول شيء سنفعله هو إعادة المركب بالإضافة إلى العنصر.
‫تمام.
‫لذلك دعونا نمر بهذا واحدًا تلو الآخر.
‫سأقوم بالفعل بطباعة المُجمّع والعنصر هنا حتى نتمكن من رؤيته.
‫وبعد ذلك سأقوم بتشغيل هذا الكود.
‫السطر 15 في الكائن غير قابل للتكرار.
‫وهذا صعب بعض الشيء ، لكننا في الواقع لم نعد بحاجة إلى القائمة بعد الآن لأن Reduce سيفعل شيئًا مثيرًا للاهتمام
‫بالنسبة لنا.
‫لذا دعنا نزيل هذا الآن ونعيد فقط ما يعطينا الاختزال في الطباعة.
‫إذا قمت بالنقر فوق تشغيل.
‫انظر إلى ذلك.
‫حسنًا ، ما الذي حدث للتو؟
‫لنلقي نظرة.
‫خفض.
‫يسمح لنا بتقليل شيء ما ، نوعًا من القيمة من المتكرر الذي نعطيه.
‫لذلك دعونا نذهب خطوة بخطوة.
‫لدينا قائمتي ، وسيتم تطبيق قائمتي على المجمع من خلال تقليل.
‫سيأخذ المجمع قائمتي وأول شيء سيفعله في المرور الأول سيقول ، مرحبًا
‫، ما هو المجمع الخاص بي؟
‫سأقوم بضبطه على الصفر.
‫لذا فإن أول تمريرات من خلال المجمع ستكون صفرًا.
‫سيكون العنصر واحدًا ، وهو ما نراه هنا وسنضيفه صفرًا زائد واحد.
‫حتى الآن عدنا واحدة.
‫الآن الطريق الثاني إلى.
‫ماذا سيحدث.
‫سيكون الممر الثاني عبر المجمع هو ما تم إرجاعه.
‫لذا فإن التمرير التالي لأي شيء يتم إرجاعه سيتم تعبئته في المجمع.
‫إذن في حالتنا ، صفر زائد واحد سيكون واحدًا.
‫سيكون العنصر.
‫واحد زائد اثنين يساوي ثلاثة.
‫إذن واحد زائد اثنين يساوي ثلاثة.
‫لذا في المرة القادمة ، سيكون المجمع ثلاثة وما نمر به سيكون
‫ثلاثة كما ترون هنا.
‫وثلاثة زائد ثلاثة يساوي ستة.
‫لقد جمعنا للتو كل هذه القيم وأعدنا رقمًا واحدًا ستة.
‫قمنا بتقليص قائمتنا إلى نوع من البيانات التي تعاملنا معها في حالتنا ، تراكم.
‫لكن كان بإمكاني فعل أي شيء أريده هنا.
‫لذا ، إذا قمت ، على سبيل المثال ، بتغيير هذا إلى لا يساوي عشرة ، فماذا تعتقد أنه سيحدث إذا قمت بالنقر فوق "تشغيل"؟
‫حصلت على 16 لأنني بدأت تراكمي الأولي بعشرة ، لذا كان عشرة زائد واحد ، وهكذا دواليك.
‫الآن يقلل بشكل كبير حقًا لأنه يمكنك فعل الكثير من الأشياء به.
‫إنها حقًا مرنة حقًا.
‫وفي الواقع أسفل الغطاء ، تستخدم وظائف مثل مرشح الخريطة هذا التقليل أسفل الغطاء حتى تتمكن من إنشاء
‫خريطتك الخاصة ووظيفة التصفية باستخدام تقليل.
‫مرة أخرى ، من الصعب فهم الاختزال قليلاً في البداية ويستغرق الأمر قليلًا من الممارسة لاستخدامه
‫حقًا ، ولكنه أحد الأشياء التي يحبها المبرمجون المتقدمون حقًا ، وستشاهد المزيد والمزيد
‫طوال حياتك المهنية. أنت تتحسن وأفضل.
‫سأراك في المرحلة التالية.
‫مع السلامة.