1. Itertools
1) permutations : iterable 객체에서 n개의 원소를 뽑아 일렬로 나열하는 모든 경우 (순열)
2) combinations : iterable 객체에서 n개의 원소를 뽑아 순서에 상관없이 나열하는 모든 경우 (조합)
3) product : 순열에서 원소를 중복해서 뽑는 경우 (repeat=N)
4) combinations_with_replacement : 조합에서 원소를 중복해서 뽑는 경우
2. collections
1) deque
indexing, slicing은 불가능하나 연속적인 데이터의 처음이나 끝에 데이터를 삽입, 삭제할때 유용
- popleft, pop : 첫번째, 마지막 원소 제거
- appendleft, append : 첫번째, 마지막에 원소 삽입
- append, popleft로 FIFO 구현 가능
2) Counter
iterable 객체가 주어졌을 때 고유한 원소들의 등장 횟수를 dictionary로 반환
3. bisect
1) bisect_left(a, x) : 정렬된 배열 a에서 데이터 x를 삽입할 가장 왼쪽 인덱스를 반환
2) bisect_right(a, x) : 정렬된 배열 a에서 데이터 x를 삽입할 가장 오른쪽 인덱스를 반환