2016-06-07 2 views
1

몇 가지 목록 요소의 직교 곱을 계산해야합니다. 이를 수행하는 가장 좋은 방법은 itertools, 특히 itertools.product를 사용하는 것입니다. 이제는 사용하려는 목록 자체가 목록에 포함되어 있으며 더 큰 목록을 itertools.product에 사용할 수 없습니다. itertools.product와 함께 사용할 수 있도록 목록을 추출해야하는 지 궁금합니다. 여기 itertools.product를 사용하여 목록 내에서 목록 사용

문제를 도시 한 예이다 :

import itertools 

elements=[[1, 2], [3, 4]] 
product=itertools.product(elements) 
print product 

이 인쇄 [([1,2]) ([3, 4])]. 내가 대신 원한에 해당 무언가는 다음하지만 어디 유일하게 "요소"의 모든 요소 줄 필요가 없습니다 :

product=itertools.product(elements[0], elements[1]) 
print product 

인쇄 [(1, 3), (1, 4), (2, 3), (2, 4)].

감사합니다. 스타 운영자 *하여 목록에서

+4

그냥'itertools.product (* 요소)' –

+1

http://stackoverflow.com/questions/3480184/unpack-a-list-in-python – ayhan

+0

우수, 감사를 사용합니다. 나는 "풀다"라는 단어를 생각하지 않았다. – whatamess

답변

2

Unpack 목록은 하위 목록에 제품을 적용합니다.

product=list(itertools.product(*elements))