기본 입출력 함수부터 정렬 함수까지 기본적인 함수 제공
파이썬에서 반복되는 형태의 데이터를 처리하기 위한 유용한 기능들을 제공
특히 순열과 조합 라이브러리는 코딩 테스트에서 자주 사용됨
순열
from itertools import permutations
data=['A','B','C']
result=list(permutations(data,3) #모든 순열 구하기
#[('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
조합
from itertools import combinations
data=['A','B','C']
result=list(combinations(data,2)) #2개를 뽑는 조합 구하기
print(result)
#[('A', 'B'), ('A', 'C'), ('B', 'C')]
중복순열
from itertools import product
data=['A','B','C']
result=list(product(data,repeat=2)) #2개를 뽑는 모든 순열 구하기(중복 허용)
print(result)
#[('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]
중복조합
from itertools import combinations_with_replacement
data=['A','B','C']
result=list(combinations_with_replacement(data,2)) #2개를 뽑는 모든 조합 구하기(중복 허용)
print(result)
#[('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B'), ('B', 'C'), ('C', 'C')]
덱(deque), 카운터(Counter) 등의 유용한 자료구조를 포함
from collections import Counter
counter=Counter(['red','blue','red','green','blue','blue'])
print(counter['blue']) #'blue'가 등장한 횟수 출력
print(counter['green']) #'green'이 등장한 횟수 출력
print(dict(counter)) #딕셔너리 형으로 변환
#3
#1
#3{'red': 2, 'blue': 3, 'green': 1}
출처: <동빈나> 유튜브 https://www.youtube.com/watch?v=m-9pAwq1o3w