728x90
반응형
👀 combinations
combinations는 itertools 모듈의 함수로, 반복 가능한(iterable) 객체와 요소의 개수를 받아 가능한 모든 조합을 생성한다.
참고 : 반복 가능한(iterable) 객체
문자열, 리스트, 튜플(tuple), 집합(set), 딕셔너리(dictionary)의 keys 등
✅ 사용 예시
arr = ['A', 'B', 'C']
comb = combinations(arr, 2) # combinations(반복 가능한 객체, 요소의 개수)
for i in comb :
print(i)
# arr에서 2개의 요소로 만들 수 있는 모든 조합
# ('A', 'B')
# ('A', 'C')
# ('B', 'C')
✅ 참고 : 순열(permutations)과의 차이
combinations는 순서를 고려하지 않는다.
아래의 코드는 순열(permutations)의 사용 예시이다.
같이 알아두면 좋으므로 위의 combinations와 아래의 permutations의 결과 차이를 눈여겨보자.
from itertools import permutations
arr = ['A', 'B', 'C']
perm = permutations(arr, 2)
for i in perm :
print(i)
# 순열(permutations)는 순서까지 고려하여 조합을 생성한다.
# ('A', 'B')
# ('A', 'C')
# ('B', 'A')
# ('B', 'C')
# ('C', 'A')
# ('C', 'B')
permutations는 combinations와는 달리, 순서를 고려한 조합을 생성하는 것을 알 수 있다.
728x90
반응형
'Python' 카테고리의 다른 글
[Python] Counter 클래스와 메서드 (0) | 2024.03.23 |
---|