reduce دون بداية اختيارية تعيد العنصر الوحيد مباشرة؛ الدالة الثنائية لا تُستدعى في هذه الحالة. [1]
الخلاصة السريعة
لا دون بداية اختيارية هنا. [1]
- reduce دون بداية اختيارية تعيد العنصر الوحيد مباشرة؛ الدالة الثنائية لا تُستدعى في هذه الحالة. [1]
- على CPython 3.12.14، combine تجمع عددين وتسجل كل استدعاء في calls؛ المدخل [5]. [1]
- reduce(combine,[5]) تعيد 5؛ calls تساوي []، فلا يوجد استدعاء للجمع. [1]
- مع البداية 2: الناتج 7، والسجل [(2,5)]؛ استدعاء واحد يجمع البداية مع العنصر. [1]
- تحكم بمدخل فارغ وبداية 2: الناتج 2 والسجل []؛ نمسح السجل بين التجارب، ولا نخلط قيمة البداية بعنصر من المدخل. [1]
العنصر الوحيد
reduce دون بداية اختيارية تعيد العنصر الوحيد مباشرة؛ الدالة الثنائية لا تُستدعى في هذه الحالة. [1]
سجل الجمع
على CPython 3.12.14، combine تجمع عددين وتسجل كل استدعاء في calls؛ المدخل [5]. [1]
دون بداية
reduce(combine,[5]) تعيد 5؛ calls تساوي []، فلا يوجد استدعاء للجمع. [1]
from functools import reduce calls=[] def combine(x,y): calls.append((x,y)) return x+y print(reduce(combine,[5]),calls) [1]
![مع البداية 2: الناتج 7 وسجل الاستدعاءات [(2,5)].](https://images.bahralolom.com/assets/local-2000-20261012/BA-1493/python-reduce-single-values.png)
البداية والتحكم
مع البداية 2: الناتج 7، والسجل [(2,5)]؛ استدعاء واحد يجمع البداية مع العنصر. [1]
calls.clear() print(reduce(combine,[5],2),calls) calls.clear() print(reduce(combine,[],2),calls) [1]
تحكم بمدخل فارغ وبداية 2: الناتج 2 والسجل []؛ نمسح السجل بين التجارب، ولا نخلط قيمة البداية بعنصر من المدخل. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![دون بداية: الناتج 5 وسجل الاستدعاءات [].](https://images.bahralolom.com/assets/local-2000-20261012/BA-1493/python-reduce-single-main.png)