681 B
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()anditertools.combinations()to create a generator that returns all subsets. - Use
itertools.chain.from_iterable()andlist()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)]