from typing import List def uniq(items: List, key=lambda x: x): result = [] ids = set() for item in items: _id = key(item) if _id not in ids: result.append(item) ids.add(_id) return result