>  기사  >  백엔드 개발  >  코드에서 매개변수 조합에 대한 중첩 루프를 제거하는 방법은 무엇입니까?

코드에서 매개변수 조합에 대한 중첩 루프를 제거하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-26 04:29:13561검색

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으로 문의하세요.