[Python] itertools를 이용한 조합
글 작성자: 택시 운전사
반응형
Python 내장 라이브러리인 itertools는 Python에서 제공하는 자신만의 반복자를 만드는 휼륭한 모듈입니다. 특정 배열에 대하여 순열이나 조합을 만들어 이를 이용하는 문제를 풀 때, 직접 구현해도 되지만, 이 itertools를 이용한다면 효율적으로 반복자를 구할 수 있습니다.
product()
import itertools
itertools.product('ABCD', repeat=2)
# 결과: AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD
인수: p, q, ... [ 반복 = 1 ]
결과: 중첩된 for loop에 해당하는 데카르트의 곱
permutations()
import itertools
itertools.permutations('ABCD', 2)
# 결과: AB AC AD BA BC BD CA CB CD DA DB DC
인수: p \[, r\]
결과: r
길이 tuple, 가능한 모든 순서, 반복 X
combinations()
import itertools
itertools.combinations('ABCD', 2)
# 결과: AB AC AD BC BD CD
인수: p
, r
결과: r 길이 tuple, 정렬된 순서, 반복 X
combinations_with_replacement()
import itertools
itertools.combinations_with_replacement('ABCD', 2)
# 결과: AA AB AC AD BB BC BD CC CD DD
인수: p
, r
결과: r
길이 tuple, 정렬된 순서, 반복 O
반복자 |
인수 |
결과 |
product() |
p, q, ... [ 반복 = 1 ] |
중첩된 for loop에 해당하는 데카르트의 곱 |
permutations() |
p [, r] |
r 길이 tuple, 가능한 모든 순서, 반복 X |
combinations() |
p, r |
r 길이 tuple, 정렬된 순서, 반복 X |
combinations_with_replacement() |
p, r |
r 길이 tuple, 정렬된 순서, 반복 O |
반응형
'Language > Python' 카테고리의 다른 글
파이썬을 이용해서 순회 알고리즘을 구현해보자 ♻ (feat. DFS, BFS) (0) | 2019.02.08 |
---|---|
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄 (2) | 2019.02.08 |
[Python] Dictionary(사전) 자료형 : { k : v }의 sort(정렬) (0) | 2019.02.05 |
[Python] 정규 표현식(Regular Expression) (0) | 2019.02.02 |
댓글
이 글 공유하기
다른 글
-
파이썬을 이용해서 순회 알고리즘을 구현해보자 ♻ (feat. DFS, BFS)
파이썬을 이용해서 순회 알고리즘을 구현해보자 ♻ (feat. DFS, BFS)
2019.02.08 -
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄
파이썬을 이용해서 이진 탐색 트리 구현하기 🎄
2019.02.08 -
[Python] Dictionary(사전) 자료형 : { k : v }의 sort(정렬)
[Python] Dictionary(사전) 자료형 : { k : v }의 sort(정렬)
2019.02.05 -
[Python] 정규 표현식(Regular Expression)
[Python] 정규 표현식(Regular Expression)
2019.02.02