powerset#

powerset(iterable)#

Iterate over all subsets (the power set) of an iterable.

Subsets are yielded as tuples in increasing size order.

Parameters:

iterable (Iterable[T]) – Any iterable of items.

Yields:

Tuples representing each subset, starting with the empty tuple.

Return type:

Iterator[tuple[T, …]]

Example

>>> list(powerset([1, 2, 3]))
[(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)]