지금까지 나는이 있고, 범위 목록에서 itertools과 목록을 만드는거야 : 이제itertools.product로 목록을 만드는 파이썬?
start_list = [xrange(0,201,1),xrange(0,201,2),xrange(0,201,5),xrange(0,201,10),xrange(0,201,20),xrange(0,201,50),xrange(0,201,100),xrange(0,201,200)]
을, 나는이 다음 라인을 실행하려고한다면 내 파이썬 인터프리터를 죽일 것이라는 점을 알고있다 :
next_list = list(itertools.product(*start_list))
내가 그것 항목의 합에 대한 각 튜플을 확인하는 인수에 넣을 수있을 것입니다 궁금하네요과 동일한 경우에만 일정 금액에 next_list에 묻어 요?
아마 같은 것을 :
next_list = list(itertools.product(*start_list,sum(tuples)=200))
나는 이것이 옳지 않아 알고 나는 이것에 대해 갈거야 방법을 다시 생각하기 시작해야 할 수도 있습니다. 발전기의 start_list의 범위가 너무 많아서 다른 목록을 작성하지 못합니까?
정수 200을 다른 집합에서 나온 8 개의 항으로 분할하는 방법을 알아 내려고한다면 next_list를 계산하는 더 쉬운 방법이 있습니다. 내가 직면하는 Cartesian 제품에 반복되는 5768123130 개의 별개 항목이 있습니다. 시간이 오래 걸릴 것입니다. – DSM
안녕 DSM, 응답 해 주셔서 감사합니다. 나는보다 효율적인 방법을 모색 할 것이다. – tijko
관련 : http://stackoverflow.com/questions/1106929/find-all-combinations-of-coins-when-given-some-dollar-value – jfs