Python      python中笛卡尔积的示例   

根据一个提问整理的 https://ask.csdn.net/questions/7475427 。
核心需求是,有若干集合(列表),每个集合中的元素数量是相同的:

期望这些列表元素能如下组合



这个问题的核心是数学中的“笛卡尔积”,如果不知道这个概念解决起来确实挺费脑筋。
根据笛卡尔积的运算,只要将上面的二维数组-excel表格,以"b2"为中心,顺时针旋转90度,然后,翻个面。
生成结果如下:

然后,就可以笛卡尔积运算了。
笛卡尔乘积,又称直积,表示为X×Y,假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
python中 itertools包的product可以直接实现。本文做了手动实现。
下面是回答问题的完整代码,
BreakCompManager 类的 __cartesianProduct 方法实现笛卡尔积运算。
如是:



- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设