Sometimes, we want to get all subsets of a set (powerset) with Python.

In this article, we’ll look at how to get all subsets of a set (powerset) with Python.

### How to get all subsets of a set (powerset) with Python?

To get all subsets of a set (powerset) with Python, we can use the `chain.from_iterable`

and `combinations`

functions.

For instance, we write:

```
from itertools import chain, combinations
def powerset(iterable):
s = list(iterable)
return chain.from_iterable(combinations(s, r) for r in range(len(s) + 1))
p = list(powerset("abc"))
print(p)
```

We define the `powerset`

function that takes an `iterable`

object.

In the function, we convert the `iterable`

object to a list with `list`

.

Then we call `chain.from_iterable`

with the list of combinations of all the elements in `s`

.

We get all combinatins with `r`

going from 0 to `range(len(s) + 1)`

.

Each combination is stored in a tuple.

Therefore, `p`

is:

```
[(), ('a',), ('b',), ('c',), ('a', 'b'), ('a', 'c'), ('b', 'c'), ('a', 'b', 'c')]
```

### Conclusion

To get all subsets of a set (powerset) with Python, we can use the `chain.from_iterable`

and `combinations`

functions.