使用大量參數組合測試程式碼時,使用巢狀 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中文網其他相關文章!