finesse.script.util.duplicates

finesse.script.util.duplicates(items, key=None)[source]

Get duplicate keys and values in the 1D sequence items.

Parameters

items : sequence

The sequence to find duplicates in.

key : callable, optional

The key function to use for comparisons. If not specified, defaults to the identity function.

Returns

list

The duplicates in items. This is a sequence of tuples containing the result of the key function for each entry of items, where at least two such keys exist, and the original items that matched that key.

Examples

>>> [k for k, _ in duplicates("AAAABBCDAAB")]
["A", "B", "C", "D"]
>>> [list(g) for _, g in duplicates("AAAABBCDAAB")]
[["A", "A", "A", "A", "A", "A"], ["B", "B", "B"], ["C"], ["D"]]