2011-11-20 100 views
2
class Config: 
    def __init__(self, a=False, b=False, c=False, d=False): 
     ... 

我需要为a,b,c,d生成具有不同值的Config的所有实例。它们可以是真或假。什么是最好的方法来做到这一点?生成布尔参数值的笛卡尔乘积

回答

10

使用itertools.product()

[Config(*x) for x in itertools.product([False, True], repeat=4)] 

(请注意,这些都不是排列。)

+0

尼斯的答案。生成所有可能的测试输入是* itertools.product *的主要用例。 –