使用大量参数组合测试代码时,使用嵌套 for 循环可能会导致代码变得复杂。幸运的是,有一些方法可以绕过这个深度。
itertools.product 函数可用于生成无需嵌套的组合。这是一个插图:
x1 = range(min1, max1, step1) x2 = range(min2, max2, step2) x3 = range(min3, max3, step3) ... for v1, v2, v3, v4, v5, v6 in itertools.product(x1, x2, x3, x4, x5, x6): do_something_with(v1, v2, v3, v4, v5, v6)
更精简的版本如下:
ranges = [ range(min1, max1, step1), range(min2, max2, step2), range(min3, max3, step3), ... ] for v1, v2, v3, v4, v5, v6 in itertools.product(*ranges): do_something_with(v1, v2, v3, v4, v5, v6)
以上是如何消除代码中参数组合的嵌套循环?的详细内容。更多信息请关注PHP中文网其他相关文章!