[내장 함수]
sorted : O(NlogN)
리스트의 탐색, 중간 요소 추가, 삭제 : O(N)
min, max : O(N)
eval : 문자열 자체를 코드로 실행한다고 생각하면 된다
enumerate : 인덱스와 요소로 이루어진 튜플을 반환한다. for문에서 사용함. start를 이용해 시작 인덱스를 지정할수도 있다
[itertools - 순열과 조합]
iterable한 객체만 인자로 넘겨줄 수 있다
# 중복 없는 순열
from itertools import permutations
# 중복 없는 조합
from itertools import combinations
# 중복 있는 순열 / 각 집단에서 추출
from itertools import product
# 중복 있는 조합
from itertools import combinations_with_replacement as com
permutations : 순열. O(N!)
combinations : 조합
product : 중복을 허용하는 순열. repeat 인자를 통해 앞의 리스트의 반복 횟수를 지정할 수 있다
combinations_with_replacement : 중복을 허용하는 조합
클래스로 반환되기 때문에 리스트나 튜플로 형변환을 해주어야 한다. 반환된 값들은 튜플로 구성되어있다.
[heapq - 힙, 우선순위 큐]
대표적으로 다익스트라 알고리즘에 사용된다.
최소 힙으로 구현되어 있기 때문에 최대힙으로 사용할 때는 push, pop 실행시 부호를 바꿔주면 된다
[bisect - 이진 탐색]
[collections]
deque : 원소를 앞뒤에 모두 추가하거나 제거할 수 있어서 스택/큐 두가지 모두 응용 가능하다. 주로 큐를 이용한 BFS 구현에 자주 이용됨. rotate라는 메소드 이용시 옛날 전화 다이얼을 돌리듯이 원소들을 밀거나 땡길수 있음
Counter : 원소의 등장 횟수를 센다. 리스트의 count와 비슷하다고 볼 수도 있는데 다른점은 딕셔너리처럼 key-value 형태로 보관이 된다.
most_common 메소드를 추가로 사용하면 데이터가 많은(value값이 높은)순으로 정렬 된 배열을 리턴한다.
인자로 자연수를 넘기면 그 숫자만큼 리턴시켜준다.
from collections import Counter
e_lst = ['red', 'blue', 'green', 'red', 'blue', 'yellow']
e_tuple = tuple(e_lst)
lst_cnt = Counter(e_lst)
tuple_cnt = Counter(e_tuple)
# red 원소의 발생횟수 조회 -> 딕셔너리처럼 key값으로 조회
print('Red:', lst_cnt['red'], tuple_cnt['red'])
print('Blue:', lst_cnt['blue'], tuple_cnt['blue'])
[math]
팩토리얼, 제곱근, 최대공약수(GCD), 삼각함수 등.
파이썬 3.9 이상 최소공배수는 lcm, 미만은 (a*b)//gcd(a,b)로 구할수 있다
'프로그래밍 > Python' 카테고리의 다른 글
2차원 리스트 슬라이싱 (0) | 2022.07.23 |
---|---|
내장함수 (0) | 2022.07.22 |
[자료형] 집합 (0) | 2022.07.22 |
[자료형] 딕셔너리(사전) (0) | 2022.07.22 |
[자료형] 리스트 & 튜플 (0) | 2022.07.22 |