sknano.core.dedupe¶
-
sknano.core.
dedupe
(items, key=None)[source][source]¶ Remove duplicate values in a sequence, but preserve order of remaining items.
Parameters: items : sequence
key : {None, function}, optional
function that converts sequence items into a hashable type for the purposes of duplicate detection.
Returns: items : set
Examples
>>> a = [{'x': 1, 'y': 2}, {'x': 1, 'y': 3}, ... {'x': 1, 'y': 2}, {'x': 2, 'y': 4}] >>> list(dedupe(a, key=lambda d: (d['x'], d['y']))) [{'x': 1, 'y': 2}, {'x': 1, 'y': 3}, {'x': 2, 'y': 4}] >>> list(dedupe(a, key=lambda d: d['x'])) [{'x': 1, 'y': 2}, {'x': 2, 'y': 4}]