Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python iterate over all possible combinations on boolean variables

I have 6 booleas variables in a dict and I want to run my code on all all their possible iteration. so I have:

params["is_A"] = True/False
params["is_B"] = True/False
...

and then for all possible combinations, I want to call

my_func(params)

What is the best way to do so?

like image 373
okuoub Avatar asked Jul 15 '26 12:07

okuoub


1 Answers

itertools.product can generate all the combinations:

import itertools

names = 'is_A is_B is_C is_D is_E is_F'.split()

def my_func(params):
    print(params)

for p in itertools.product([True,False],repeat=6):
    params = dict(zip(names,p))
    my_func(params)

Output:

{'is_A': True, 'is_B': True, 'is_C': True, 'is_D': True, 'is_E': True, 'is_F': True}
{'is_A': True, 'is_B': True, 'is_C': True, 'is_D': True, 'is_E': True, 'is_F': False}
...
{'is_A': False, 'is_B': False, 'is_C': False, 'is_D': False, 'is_E': False, 'is_F': True}
{'is_A': False, 'is_B': False, 'is_C': False, 'is_D': False, 'is_E': False, 'is_F': False}
like image 157
Mark Tolonen Avatar answered Jul 17 '26 16:07

Mark Tolonen



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!