我正在尝试使用python而不是excel执行简单的公差堆栈电路分析。基本上,说我在下面的电阻值之间用->最小|分隔。标称|最大值,因此是下面的值:
R1-> 5 | 10 | 15 R2-> 5 | 10 | 15
Total_R = R1 + R2
从理论上讲,这将生成9个“ Total_R”的组合,从(R1的最小值+ R2的最小值)直到(R1的最大值+ R2的最大值)
如何在python中有效地执行此操作以容纳多达10个电阻值?
答案 0 :(得分:0)
您想要的东西叫做笛卡尔积。 Python为他们提供了一个功能:itertools.product:
from itertools import product
R1 = (5, 10, 15)
R2 = (13, 1313, 131313)
list(product(R1, R2))
将返回您
[(5, 13),
(5, 1313),
(5, 131313),
(10, 13),
(10, 1313),
(10, 131313),
(15, 13),
(15, 1313),
(15, 131313)]