다음과 같은 복잡한 문제를 단순화하고 있습니다 ...배열 집합의 요소 조합을 모두 찾는 방법은 무엇입니까?
세 개의 정수 배열을 가정 할 때 각 요소의 가능한 모든 조합을 반환하는 가장 효율적인 방법은 무엇입니까? 각 배열의 각 값은 항상 동일한 위치에 지정되므로 [A,B,C]
은 [C,B,A]
과 같을 것입니다. 원하는 결과는 각 해시가 단일 조합을 포함하는 배열의 배열입니다. 예를 들어 :
을 감안할 때 :
는var array1 = [1,2]
var array2 = [a,b]
var array3 = [foo,bar]
이 결과는 다음과 같습니다
itertools.product(array1, array2, array3)
을하고 필요한 경우 list
에 포장 :
[
[1,a,foo],
[2,a,foo],
[1,b,foo],
[2,b,foo],
[1,a,bar],
[2,a,bar],
[1,b,bar],
[2,b,bar]
]
왜 3 가지 다른 언어로 질문이 있습니까? – Amber
재귀가 가장 간단한 해결책이라고 생각합니다. – kirilloid
단지 for-loops가 아닌가? – Pinch