首頁  >  文章  >  後端開發  >  如何消除程式碼中參數組合的巢狀循環?

如何消除程式碼中參數組合的巢狀循環?

DDD
DDD原創
2024-11-26 04:29:13560瀏覽

How to Eliminate Nested Loops for Parameter Combinations in Code?

消除參數組合的巢狀迴圈

使用大量參數組合測試程式碼時,使用巢狀 for 迴圈可能會導致程式碼變得複雜。幸運的是,有一些方法可以繞過這個深度。

利用 itertools.product

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn