목록 내부에서 목록을 결합 할 때 알고리즘 도움말이 절실히 필요합니다.목록의 모든 가능한 조합
fields = [ ['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3'], ['d1', 'd2', 'd3'] ]
나는 다음과 같은 코드가 있도록 각 항목 가능한 조합을 생성하는 발전기 (파이썬) 쓰기를 시도하고있다 :
for x in thegenerator(fields): print(x)
하여 줄 것을 나는 다음과 같은 데이터 구조를 가지고 있다고 가정 다음과 같은 출력 :
['a1', 'b1', 'c1', 'd1'] ['a1', 'b1', 'c1', 'd2'] ['a1', 'b1', 'c1', 'd3'] ['a1', 'b1', 'c2', 'd1'] ['a1', 'b1', 'c2', 'd2'] ['a1', 'b1', 'c2', 'd3'] ... ['a3', 'b3', 'c3', 'd3']
는하지만, 내 사고 방식 그래서 나는 내가 가장 가장 깨끗한 웨스턴 오스트 레일 리아의 모든 조합을 얻을 수있는 구조를 반복 할 수있는 방법을 생각할 수 없다 오프 완전히 오늘 y는 파이썬을 사용합니다. 나는 이것이 누군가에 의해 이전에 행해졌다고 확신하지만, 구글과 스택에 대한 몇 가지 검색을 한 후에이 문제에 적합한 알고리즘을 찾기 위해 정확한 키워드 조합을 찾는 것을 포기했다.
어떤 아이디어가 가장 깨끗한 알고리즘이 문제를 해결할 수 있을까요?
당신 말이 맞아요. 이미 itertools.product를 잠깐 살펴 봤지만, 기능이 조금 달라졌다고 생각하기에 충분히 좋지 않은 것 같습니다. 감사합니다. – agnsaft