일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래밍
- 코딩
- 알고리즘
- 컴퓨터과학
- 데이터분석
- 딥러닝
- 소프트웨어
- 보안
- I'm Sorry
- 클라우드컴퓨팅
- 자바스크립트
- 인공지능
- 웹개발
- 소프트웨어공학
- 네트워크
- 빅데이터
- 프로그래밍언어
- 머신러닝
- 데이터베이스
- 데이터구조
- 컴퓨터공학
- 네트워크보안
- 파이썬
- 2
- 버전관리
- 사이버보안
- 데이터과학
- 자료구조
- Yes
- 컴퓨터비전
- Today
- Total
스택큐힙리스트
리스트의 모든 조합 [중복됨] 본문
이 질문에 대한 답변이 이미 있습니다 :
How to get the Cartesian product of multiple lists
18개 답변
9개월 전에 종료되었습니다.
저는 기본적으로 Combination of List>
의 파이썬 버전을 찾고 있습니다.
리스트의 리스트가 주어지면, 리스트 간 항목의 모든 가능한 조합을 제공하는 새로운 리스트가 필요합니다.
[[1,2,3],[4,5,6],[7,8,9,10]] -> [[1,4,7],[1,4,8],...,[3,6,10]]
리스트의 수는 알려지지 않았으므로 모든 경우에 대해 작동하는 것이 필요합니다. 우아함에 대한 보너스 포인트가 있습니다!
답변 1
당신은 itertools.product가 필요합니다.
>>> import itertools
>>> a = [[1,2,3],[4,5,6],[7,8,9,10]]
>>> list(itertools.product(*a))
[(1, 4, 7), (1, 4, 8), (1, 4, 9), (1, 4, 10), (1, 5, 7), (1, 5, 8), (1, 5, 9), (1, 5, 10), (1, 6, 7), (1, 6, 8), (1, 6, 9), (1, 6, 10), (2, 4, 7), (2, 4, 8), (2, 4, 9), (2, 4, 10), (2, 5, 7), (2, 5, 8), (2, 5, 9), (2, 5, 10), (2, 6, 7), (2, 6, 8), (2, 6, 9), (2, 6, 10), (3, 4, 7), (3, 4, 8), (3, 4, 9), (3, 4, 10), (3, 5, 7), (3, 5, 8), (3, 5, 9), (3, 5, 10), (3, 6, 7), (3, 6, 8), (3, 6, 9), (3, 6, 10)]
답변 2
이 글은 리스트의 모든 조합에 대한 것입니다.리스트의 모든 조합을 구하는 방법에 대해 알아봅시다. 이 문제는 주어진 리스트에서 가능한 모든 조합을 찾는 것입니다. 예를 들어, 리스트 [1, 2, 3]이 주어지면 가능한 모든 조합은 [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]입니다.
이 문제를 해결하기 위해 우리는 재귀적인 접근법을 사용할 수 있습니다. 첫 번째 리스트에서 시작하여 가능한 모든 조합을 찾을 수 있습니다. 그런 다음, 두 번째 리스트에서 시작하여 첫 번째 리스트에서 찾은 조합과 함께 가능한 모든 조합을 찾을 수 있습니다. 이 과정을 모든 리스트에 대해 반복합니다.
이 방법은 모든 조합을 탐색하기 때문에 좋은 방법입니다. 그러나 원하는 결과가 많을수록 시간이 많이 소요됩니다. 따라서, 더 나은 알고리즘을 고려해야 할 수도 있습니다.
결론적으로, 리스트의 모든 조합을 찾는 것은 재미있는 문제입니다. 이를 해결하기 위해서는 다양한 알고리즘을 사용할 수 있습니다. 하지만, 가장 효율적이고 간단한 방법은 재귀적인 접근법입니다.