Python

(Python) itertools

Accept 2024. 1. 29. 23:40

itertools

Python에서 반복되는 데이터를 처리하는 기능을 포함한 라이브러리이다.


1. permutations

리스트와 같은 iterable 객체에서 n개의 데이터를 뽑아 일렬로 나열하는 모든 경우(순열)를 계산해준다. permutations는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다.
from itertools import permutations
data = ['A', 'B', 'C']
result = list(permutations(data, 3))​

 

 

2. combinations
리스트와 같은 iterable 객체에서 n개의 데이터를 뽑아 순서를 고려하지 않고 나열하는 모든 경우(조합)를 계산해준다.
combinations는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다.
from itertools import combinations
data = ['A', 'B', 'C']
result = list(combinations(data, 2))​

 

 

 

3. product
permutations와 같이 리스트와 같은 iterable 객체에서 n개의 데이터를 뽑아 일렬로 나열하는 모든 경우(순열)를 계산하며, 원소를 중복하여 뽑는다.
product 객체를 초기화할 때는 뽑고자 하는 데이터의 수를 repeat 속성값을 넣어준다.
product는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다.

from itertools import product
data = ['A', 'B', 'C']
result = list(product(data, repeat=2))​

 

 

4. combinations_with_replacement
combinations와 같이 리스트와 같은 iterable 객체에 n개의 데이터를 뽑아 순서를 고려하지 않고 나열하는 모든 경우(조합)를 계산하며, 원소를 중복해서 뽑는다.
combinations_with_replacement는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다.

from itertools import combinations_with_replacement
data = ['A', 'B', 'C']
result = list(combinations_with_replacement(data, 2))​

'Python' 카테고리의 다른 글

(Python) math  (1) 2024.01.30
(Python) Collections  (0) 2024.01.30
(Python) bisect  (1) 2024.01.29
(Python) heapq  (0) 2024.01.29
(Python) 주요 내장 함수  (0) 2024.01.29