تقنية

accumulate في بايثون: لماذا يضيف initial صفرًا إلى الناتج؟

ناتجان للمجاميع
الافتراضي. [1] [2]

ثبات المجموع الأخير لا يثبت تساوي طول الناتجين. [1] [2]

الخلاصة السريعة

مع initial=0 تظهر البداية ضمن الناتج قبل المجاميع. [1] [2]

  • مدخلنا [4,7] من عنصرين. [1] [2]
  • دون الخيار: [4,11]. [1] [2]
  • معه: [0,4,11]. [1] [2]
  • المجموع الأخير نفسه، لكن الطول صار ثلاثة. [1] [2]
  • اختبرنا 3.12.14 والجمع الافتراضي. [1] [2]

المثال

from itertools import accumulate
values=[4,7]
print(list(accumulate(values)))
print(list(accumulate(values,
    initial=0)))

[1] [2]

ناتج البداية

المصدر هنا يعيد البداية أولًا، ثم يجمع كل مدخل إليها. الصفر ليس عنصرًا أضفناه إلى values؛ إنه حالة البداية المعادة. القائمة الأصلية بقيت [4,7]. [1] [2]

البداية ثم مجموعان
البداية. [1] [2]

النطاق

مع مدخل فارغ وinitial=0 يظهر [0]. لا نعمم الخيار على None؛ فهي تعامل هنا كالافتراضي. المثال محدود، ولا نحول تسلسلًا لا نهائيًا إلى قائمة. [1] [2]

المراجع

  1. Python 3.12: itertools.accumulate
  2. CPython 3.12.14: itertoolsmodule.c
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

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