[1,3,5,7]라는 데이터가 주어졌을 때 그 중 조합 4C3 (4 combination 3) 을 모두 구하려면 어떻게 코드를 작성할 수 있을까
아무런 모듈 없이 직관적으로 떠오르는 코드는 아래와 같다.
a = [1,3,5,7]
for i in range(len(a)):
for j in range(len(a)):
for k in range(len(a)):
if i == j or i == k or j == k or i>j or j>k:
pass
else:
print([a[i],a[j],a[k]])
코드도 지저분하고 3중 for문이 사용되어 굉장히 오랜 시간을 잡아먹을듯하다
아래는 그럴 때 사용할 수 있는 간단한 python built-in 모듈이다.
from itertools import combinations
a = [1,3,5,7]
for i in combinations(a,3):
print(list(i))
'코딩 잡동사니 > 코딩 꿀팁' 카테고리의 다른 글
Git 과거 데이터 및 히스토리 삭제 (0) | 2023.04.25 |
---|---|
[Python 꿀팁] 모듈 버전충돌시 코드 (0) | 2023.03.14 |
[Python 꿀팁] 많은 수의 약수를 구할 때 (0) | 2023.01.25 |
[Python 꿀팁] tqdm (0) | 2023.01.24 |
[Python 꿀팁] enumerate (0) | 2023.01.24 |