عملیات keep و discard را روی مجموعهها پیادهسازی کنید.
اگر یک مجموعه و یک شرط روی عناصر آن داشته باشیم، keep مجموعهی جدیدی برمیگرداند که شامل عناصری است که شرط برایشان «درست» است و discard مجموعهی جدیدی برمیگرداند که شامل عناصری است که شرط برایشان «غلط» است.
برای مثال، مجموعهی زیر از اعداد را در نظر بگیرید:
و این شرط:
در این صورت، عملیات keep شما باید موارد زیر را تولید کند:
و عملیات discard شما باید موارد زیر را تولید کند:
توجه کنید که اجتماع keep و discard همهی عناصر است.
ممکن است این توابع keep و discard نامیده شوند، یا ممکن است برای اینکه با توابع یا مفاهیم موجود در زبان شما تعارض پیدا نکنند به نامهای دیگری نیاز داشته باشند.
به آن قابلیت filter/reject/هر چه اسمش را بگذارید که کتابخانهی استانداردتان در اختیارتان میگذارد دست نزنید!
در عوض، این یکی را خودتان با ابزارهای پایهی دیگر حل کنید.