0

How can I create a function to generate distinct sets bases on give values?

here we have input list: [4, 5, 6]

output should be like this:

output = [[],[6],[5],[6,5],[6,4],[5,4],[5,6],[4,5],[4,6],[4,5,6]]
ChaosPredictor
  • 3,777
  • 1
  • 36
  • 46
brijesh kumar
  • 95
  • 1
  • 8

1 Answers1

0

you can do something like this:

l = [4,5,6]

n = len(l)
r = []

for i in range(pow(2,n)):
    t = []
    for j in range(n):
        k = (str(bin(i))[2:]).zfill(3)[j]
        #print(k)
        if k == '1':
            t.append(l[j])
    r.append(t)
print(r)
ChaosPredictor
  • 3,777
  • 1
  • 36
  • 46