def deduplicate(self, how='last'): """ ... NOTE: this method is equivalent to deduplicate_last by default. """ if how == 'first': pass elif how == 'last': return self.deduplicate_last() else: raise ValueError("Unknown deduplication `how`: %r" % (how,)) self._data_checked = tuple(uniq_g(self._data, key=lambda item: item[0]))
def deduplicate_last(self): data_pre = uniq_g(reversed(self._data), key=lambda item: item[0]) data_pre = list(data_pre) self._data_checked = tuple(reversed(data_pre))