在Python中迭代/枚举N ^ 5的子集

时间:2018-05-16 10:08:17

标签: python iteration enumeration

我有一个ℕ 5 的子集,五维向量,其元素位于自然数中。该子集定义为区间[ a 1 a 2 ]×[ b]的乘积 1 b 2 ]×...×[ f 1 f 2 ],我想枚举大小为1的子集,即向量( x 1 x 2 x 3 x 4 x 5 )其中 x 1 在[ a > 1 a 2 ], x 2 位于[ b 1 b 2 ]等。最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

这是cartesian product,您可以使用itertools.product来计算它:

    <dxe:ComboBoxEdit Name="multiSwitchCombobox"
                      Grid.Row="1"
                      Grid.Column="1"
                      EditValueChanged="EditValueChanged"/>

<强>输出

a = [0, 1]
b = [2, 3]
c = [4, 5]
d = [6, 7]
e = [8, 9]

for subset in product(a, b, c, d, e):
    print(subset)