Files
30-seconds-of-code/snippets/powerset.md
Angelos Chalaris fad8bd3e8a Update covers
2023-02-16 22:24:35 +02:00

681 B

title, tags, author, cover, firstSeen, lastUpdated
title tags author cover firstSeen lastUpdated
Powerset math,list chalarangelo rock-climbing 2020-10-04T13:14:01+03:00 2020-11-02T19:28:27+02:00

Returns the powerset of a given iterable.

  • Use list() to convert the given value to a list.
  • Use range() and itertools.combinations() to create a generator that returns all subsets.
  • Use itertools.chain.from_iterable() and list() to consume the generator and return a list.
from itertools import chain, combinations

def powerset(iterable):
  s = list(iterable)
  return list(chain.from_iterable(combinations(s, r) for r in range(len(s)+1)))
powerset([1, 2]) # [(), (1,), (2,), (1, 2)]