多数のパラメータの組み合わせを含むコードをテストする場合、ネストされた 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 中国語 Web サイトの他の関連記事を参照してください。