def filter(self, f): r = RDD(self.__new_rdd_id()) r.partitions = [] for p in self.partitions: rp = Partition(r.id, p.id, filter(lambda x: f(x), p.get_content())) if rp.get_content(): r.partitions.append(rp) r.num_partitions = len(r.partitions) return r