UniCoreFW

duplicates()

Creates an array of unique elements from the first occurrence of each value in `array`.

Implementation

Args: array: List to process. iteratee: Function invoked per iteration. Returns: List of duplicates.

Example

duplicates([0, 1, 3, 2, 3, 1])

Expected output: [3, 1]

Source Code

def duplicates(array: List[T], iteratee: Callable[[T], Any] = lambda x: x) -> List[T]: seen: set = set() dup_set: set = set() result: List[T] = [] for item in array: key = iteratee(item) if key in seen and key not in dup_set: dup_set.add(key) result.append(item) seen.add(key) return result