Iteration utilities (qiskit_addon_cutting.utils.iteration
)¶
Iteration utilities.
- unique_by_id(iterable, /)[source]¶
Return unique objects in
iterable
, by identity.>>> a = {0} >>> list(unique_by_id([a, a])) [{0}] :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~collections.abc.ValuesView\``
>>> list(unique_by_id([a, a.copy()])) [{0}, {0}]
- Parameters:
iterable (Iterable)
- Return type:
- unique_by_eq(iterable, /)[source]¶
Return unique objects in
iterable
, by equality.This function is only appropriate if (i) there are a small number of objects, and (ii) the objects are not guaranteed to be hashable. Otherwise, a
dict
orset
is a better choice.This function may potentially make a comparison between all pairs of elements, so it executes in \(O(n^2)\) time in the worst case, in contrast to a
dict
orset
, both of which can be constructed in \(O(n)\) time.>>> a = {0} >>> list(unique_by_eq([a, a])) [{0}] :rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`list\``
>>> list(unique_by_eq([a, a.copy()])) [{0}]