0
itertools.product에 고정 된 개체 위에 루프를 중첩 재사용되는 하나의 제품? itertools.product
의 결과는 변경할 수 없습니다. 그것은 일종의 발전기입니다 (즉 구현시 yield
을 사용합니다).최적화는 내가 지금과 같은 고정 된 물체가 한
이 루프는 내 프로그램의 성능 병목 현상이므로이 프로그램을 최적화하려고합니다.
itertools.product에 고정 된 개체 위에 루프를 중첩 재사용되는 하나의 제품? itertools.product
의 결과는 변경할 수 없습니다. 그것은 일종의 발전기입니다 (즉 구현시 yield
을 사용합니다).최적화는 내가 지금과 같은 고정 된 물체가 한
이 루프는 내 프로그램의 성능 병목 현상이므로이 프로그램을 최적화하려고합니다.
는 모든 항목을 평가하는 발전기 개체 힘에 list
를 호출 :
products = list(itertools.product(TAG_SET, repeat=2))
for x in very_outer_object:
# ...
for t1, t2 in products:
# ...
products
는 이제 내부 루프에서 재사용 할 수 있습니다.
제공된 len(TAG_SET)
은 극도로 크지 않아 메모리 문제가 없어야합니다.
루프를 줄이는 방법이 있습니까? 어쩌면 제품 대신 조합을 통해? – Alissa