تقنية

islice في بايثون: هل الخطوة توفر استهلاك المدخل؟

ناتج الشريحة 1 و4؛ التالي من المدخل 7.
استهلاك كامل.

islice تعيد عنصرين هنا، وتقرأ سبعة عند استهلاكها كاملة. [1]

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

لا هنا؛ الاستهلاك الكامل يقرأ العناصر المتجاوزة أيضًا. [1]

  • islice تعيد عنصرين هنا، وتقرأ سبعة عند استهلاكها كاملة. [1]
  • على CPython 3.12.14، source=iter(range(9)) يبدأ بالقيم 0 إلى 8. [1]
  • islice(source,1,7,3): بداية 1، توقف 7، وخطوة 3؛ النتائج [1,4] بعد استهلاكها كاملة. [1]
  • بعد الشريحة وقبل طلب جديد، قُرئت 0 إلى 6؛ next(source) تعطي 7. [1]
  • تحكم: مكرر جديد، وطلب أول نتيجة فقط يعطي 1؛ next(other) تعطي 2. [1]

نتائج وقراءة

islice تعيد عنصرين هنا، وتقرأ سبعة عند استهلاكها كاملة. [1]

مكرر البداية

على CPython 3.12.14، source=iter(range(9)) يبدأ بالقيم 0 إلى 8. [1]

الاختيار الكامل

islice(source,1,7,3): بداية 1، توقف 7، وخطوة 3؛ النتائج [1,4] بعد استهلاكها كاملة. [1]

from itertools import islice source=iter(range(9)) part=islice(source,1,7,3) print(list(part)) print(next(source)) [1]

نتيجة أولى 1؛ التالي من مكرر التحكم 2.
طلب جزئي.

موضع المكرر

بعد الشريحة وقبل طلب جديد، قُرئت 0 إلى 6؛ next(source) تعطي 7. [1]

other=iter(range(9)) small=islice(other,1,7,3) print(next(small),next(other)) [1]

تحكم: مكرر جديد، وطلب أول نتيجة فقط يعطي 1؛ next(other) تعطي 2. [1]

المراجع

  1. Python islice

للتوسع: لغات البرمجة.

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