수많은 매개변수 조합이 있는 코드를 테스트할 때 중첩된 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!