import itertools length = 3 result = itertools.combinations( [*[True, False] * length], length ) print([list(r) for r in result])
Standard input is empty
[[True, False, True], [True, False, False], [True, False, True], [True, False, False], [True, True, False], [True, True, True], [True, True, False], [True, False, True], [True, False, False], [True, True, False], [False, True, False], [False, True, True], [False, True, False], [False, False, True], [False, False, False], [False, True, False], [True, False, True], [True, False, False], [True, True, False], [False, True, False]]