diff --git a/textattack/transformations/composite_transformation.py b/textattack/transformations/composite_transformation.py index 39b3d81c..ae05e873 100644 --- a/textattack/transformations/composite_transformation.py +++ b/textattack/transformations/composite_transformation.py @@ -34,10 +34,11 @@ def _get_transformations(self, *_): ) def __call__(self, *args, **kwargs): - new_attacked_texts = set() + new_attacked_texts = [] for transformation in self.transformations: - new_attacked_texts.update(transformation(*args, **kwargs)) - return list(new_attacked_texts) + new_attacked_texts.extend(transformation(*args, **kwargs)) + seen = set() + return [t for t in new_attacked_texts if not (t in seen or seen.add(t))] def __repr__(self): main_str = "CompositeTransformation" + "("