반응형

itertools는 Python에서 제공하는 반복자를 만드는 강력한 모듈입니다. C언어에서 반복하는 것을 C++에서 iterator로 많이 쉽게 해주었 듯이 파이썬에서도 itertools를 이용한다면 보다 편리하게 반복을 할 수 있습니다.

 

모듈을 쓰기 위해서는 파이썬 파일 상단에 

import itertools를 해주셔야 합니다.

 

이제 itertools의 내장함수를 살펴보도록 하겠습니다.

 

*product()

사용법 : itertools.product('ABCD', repeat=2)

설   명 : 중복을 허용한 모든 가능성입니다. repeat이 2기 때문에 두 개 크기로 ABCD에서 빼냅니다.

결   과 : AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD

 

*permutations()

사용법 : itertools.permutations('ABCD', 2)

설   명 : 중복을 제외하고 두 개 크기로 ABCD 내에서 빼냅니다.

결   과 : AB AC AD BA BC BD CA CB CD DA DB DC

 

*combinations()

사용법 : itertools.combinations('ABCD', 2)

설   명 : 순서를 바꿔서 같으면 같다고 보고 같지 않은 것들을 두 개의 크기로 ABCD 내에서 빼냅니다.

결   과 : AB AC AD BC BD CD

 

*combinations_with_replacement()

사용법 : itertools.combinations_with_replacement('ABCD', 2)

설   명 : 순서를 바꿔서 같으면 같다고 보고 같지 않은 것들을 두 개의 크기로 ABCD 내에서 빼냅니다. 여기에 추가하여 각 자리가 중복되서 같다면 추가합니다.

결   과 : AA AB AC AD BB BC BD CC CD DD

 

 

반응형

+ Recent posts