def test_remove(): assert remove(lambda x: x > 5, range(10)) == [0, 1, 2, 3, 4, 5]
def remove_end_jobs(udag): return {job: tuple(remove(is_end_job, udag[job])) for job in remove(is_end_job, udag)}
def remove_jobs_from_sched(sched): """ Remove some silly jobs from a schedule """ pred = lambda x: is_start_job(x) or is_end_job(x) return tuple(remove(pred, sched))
def remove_start_jobs(udag): return {job: udag[job] for job in remove(is_start_job, udag)}
def remove_end_jobs(udag): return { job: tuple(remove(is_end_job, udag[job])) for job in remove(is_end_job, udag) }