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

前端 未结 28 2794
庸人自扰
庸人自扰 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条回答
  •  日久生厌
    2020-11-22 05:56

    I know this is too late

    There are many other solutions already but still...

    def power_set(lst):
        pw_set = [[]]
    
        for i in range(0,len(lst)):
            for j in range(0,len(pw_set)):
                ele = pw_set[j].copy()
                ele = ele + [lst[i]]
                pw_set = pw_set + [ele]
    
        return pw_set
    

提交回复
热议问题