[내장 함수]

 

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

+ Recent posts