可能重复:
在 Python 中获取一系列列表的笛卡尔积
假设我有一个长度为 n 的数组,代表 n 个变量,以及一个包含 n 个变量的函数 f。我想对应用于某个有限集合(即 {0,1})中 n 个变量的所有值的 f 求和。从概念上讲,它会类似于
for x[1] in {0,1}:
for x[2] in {0,1}:
...
sum += f(x[1], ..., x[n])
但显然你不能写这个。
有没有一种很好的方法来做到这一点,比如在 Python 中?(对于 {0,1} 中值的特殊情况,我可以循环从 0 到 2^n-1 的整数的二进制表示,但我想要一个更通用的解决方案)。