from abc import abstractmethod from evolalg.base.step import Step class Remove(Step): def __init__(self): pass @abstractmethod def remove(self, individual): pass def call(self, population): return [_ for _ in population if not self.remove(_)]