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

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

DDD
發布: 2024-11-26 04:29:13
原創
583 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板