1
각 값이리스트 목록 인 사전이 있습니다. 같은사전 값의 가능한 모든 조합을 반복하고 싶습니다.
뭔가 :
sites = {'e1': [[0, 1, 3], [0, 2, 3]], 'e2': [[0, 1, 4], [0, 3, 4]]}
나는 모든 가능한 조합 목록 (내 예 즉 쌍) (e2
의 e1
+ 하나의 목록 즉 하나 개의 목록 등)을 반복하려고합니다.
의 예와 더 나은는 :
나는이 모든 조합을 통해 루프를 원하는 :
[0, 1, 3]; [0, 1, 4]
[0, 1, 3]; [0, 3, 4]
[0, 2, 3]; [0, 1, 4]
[0, 2, 3]; [0, 3, 4]
이 예제 사전 두 개의 키를 가지고 있지만 실제로 내가에서해야합니다 얼마나 많은 키 모른다 내 사전. 그것은 2 이상일 수 있습니다.
도와 주시겠습니까?
다음을 참조하십시오. 'itertools.product (* sites.values ())'가 이것을 할 것입니다. –
또는'list (reduce (product, sites.values ())) ' –
2 튜플 또는 n 튜플 (dict의 n 항목)을 가져올 것인지 여부에 달려 있습니다. 'itertools.product'는 n-tuple을 산출 할 것입니다. 'itertools.combinations'를 사용하면 튜플의 길이를 지정할 수 있습니다. –