라이브러리
최근 코딩테스트를 보면서 라이브러리가 기억이 안나서 고생한 적이 있어서
코테 전에 보고 갈 내용을 포스팅을 하려합니다.
지극히 개인적으로 자주 사용하는 라이브러리만 정리하니 참고바랍니다.
표준입출력
import sys
input = sys.stdin.readline
순열과 조합
# 순열
from itertools import permutations
print(list(permutations([1,2,3,4], 2)))
# [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]
# 조합
from itertools import combinations
print(list(combinations([1,2,3,4], 2)))
# [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
재귀 깊이 제한 해제
import sys
sys.setrecursionlimit(10**6)
데크, deque(Queue, Stack)
from collections import deque
q = deque([])
데크 메서드
- deque.append(n): 오른쪽 삽입
- deque.appendleft(n): 왼쪽 삽입
- deque.pop(): 오른쪽 삭제 & 반환
- deque.popleft(): 왼쪽 삭제 & 반환
- deque.extend(array): 배열을 순회하며 오른쪽 삽입
- deque.extendleft(array): 배열을 순회하며 왼쪽 삽입
힙큐, heapq
from heapq import heappush, heappop
heap = []
heappush(heap, (1, 2))
print(heappop(heap))
# (1, 2)
힙큐 주의점
- heap[0]을 사용하여 최솟값을 반환할 수 있지만 다음 인자가 두 번째 최솟값이라는 보장은 없다.
- 최댓값으로 정렬하고 싶다면 음수로 변환하여 저장한다. (이를 꺼내어 쓸 경우에도 변환하여 사용한다.)
- 리스트를 heapq로 바꾸고 싶다면
heapify
를 활용한다. from heapq import heapify heap = [1, 2, 3, 4] heapify(heap)
추가 예정
알고리즘 학습을 하며 라이브러리가 생각나면 자주 사용하는 내장 함수와 함께 추가할 예정입니다.
'개발일기 > Python' 카테고리의 다른 글
[Python] 10진수, 2진수 변환 (파이썬 내장 함수 활용) (0) | 2023.01.30 |
---|---|
[Python 기초] 문자열(string)의 여러가지 method 알아보기! (0) | 2022.01.25 |
[Python기초] 자료형 알아보기! (0) | 2022.01.18 |