بعد استهلاك takewhile حتى التوقف، أول قيمة يرفضها الشرط تُستهلك ولا تُعاد؛ dropwhile تبدأ ناتجها بها. [1]
الخلاصة السريعة
تستهلكها takewhile؛ وتظهر في ناتج dropwhile. [1]
- بعد استهلاك takewhile حتى التوقف، أول قيمة يرفضها الشرط تُستهلك ولا تُعاد؛ dropwhile تبدأ ناتجها بها. [1]
- على CPython 3.12.14، data=[2,5,8,3,11]، والشرط n<6. [1]
- takewhile تعطي [2,5]؛ تتوقف عند رفض 8. [1]
- next(source) تعطي 3؛ القيمة 8 استُهلكت ولم تُعد إلى المكرر. [1]
- تحكم ببداية جديدة: dropwhile تعطي [8,3,11]؛ تبقى 3 رغم أنها أقل من 6؛ الاختبار ينتهي عند أول رفض. [1]
عند أول رفض
بعد استهلاك takewhile حتى التوقف، أول قيمة يرفضها الشرط تُستهلك ولا تُعاد؛ dropwhile تبدأ ناتجها بها. [1]
المدخل والشرط
على CPython 3.12.14، data=[2,5,8,3,11]، والشرط n<6. [1]
قبل الرفض
takewhile تعطي [2,5]؛ تتوقف عند رفض 8. [1]
from itertools import takewhile,dropwhile data=[2,5,8,3,11] source=iter(data) print(list(takewhile(lambda n:n<6,source))) print(next(source)) [1]

المكرر والباقي
next(source) تعطي 3؛ القيمة 8 استُهلكت ولم تُعد إلى المكرر. [1]
print(list(dropwhile(lambda n:n<6,iter(data)))) [1]
تحكم ببداية جديدة: dropwhile تعطي [8,3,11]؛ تبقى 3 رغم أنها أقل من 6؛ الاختبار ينتهي عند أول رفض. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
