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

前端 未结 28 2913
庸人自扰
庸人自扰 2020-11-22 05:18

Given a set

{0, 1, 2, 3}

How can I produce the subsets:

[set(),
 {0},
 {1},
 {2},
 {3},
 {0, 1},
 {0, 2},
 {0, 3},
 {1, 2}         


        
28条回答
  •  闹比i
    闹比i (楼主)
    2020-11-22 05:42

    Use function powerset() from package more_itertools.

    Yields all possible subsets of the iterable

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

    If you want sets, use:

    list(map(set, powerset(iterable)))
    

提交回复
热议问题